Comparing version 1.2.0 to 1.2.1
@@ -1,5 +0,4 @@ | ||
import { HTML } from "./src/types"; | ||
import { render, useState } from "./src/createElement" | ||
import { el } from "./src/element" | ||
import { RouterView ,RouterLink,createRouter } from "./src/router" | ||
export { render ,useState, HTML, RouterLink, RouterView, createRouter } | ||
export { el, RouterLink, RouterView, createRouter } |
{ | ||
"name": "araz", | ||
"version": "1.2.0", | ||
"version": "1.2.1", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "index.ts", |
import { isArray } from "lodash-es"; | ||
import { render } from "./createElement"; | ||
import { HTML } from "./types"; | ||
import { el } from "./element"; | ||
@@ -13,10 +12,10 @@ interface Props { | ||
return render({ | ||
tag: HTML.Anchor, | ||
attrs: { | ||
return el({ | ||
$tag: 'a', | ||
$attrs: { | ||
href: `${props.link}`, | ||
classList: active ? ['active'] : [], | ||
class: `${active ? ['active'] : ''}`, | ||
['data-link']: '', | ||
}, | ||
children: [props.name], | ||
$children: [props.name], | ||
}); | ||
@@ -28,6 +27,6 @@ }; | ||
return render({ | ||
tag: props ?? HTML.Div, | ||
attrs:{ | ||
classList:['router-view'] | ||
return el({ | ||
$tag: props ?? 'div', | ||
$attrs:{ | ||
class:'router-view' | ||
} | ||
@@ -34,0 +33,0 @@ }) |
153
src/types.ts
@@ -1,73 +0,96 @@ | ||
// types.ts | ||
export type EventHandler = (event: Event) => void; | ||
// // types.ts | ||
// export type EventHandler = (event: Event) => void; | ||
export interface CustomGlobalEventHandlers extends GlobalEventHandlers { | ||
onabort: EventHandler; | ||
} | ||
// export interface CustomGlobalEventHandlers extends GlobalEventHandlers { | ||
// onabort: EventHandler; | ||
// } | ||
export type StateUpdater<T> = (newValue: T) => void; | ||
// export type StateUpdater<T> = (newValue: T) => void; | ||
export type ElementAttributes = { | ||
style?: Partial<CSSStyleDeclaration>; | ||
classList?: string[]; | ||
events?: { [key: string]: EventHandler }; // Change the type here | ||
[key: string]: any; | ||
}; | ||
// export type ElementAttributes = { | ||
// style?: Partial<CSSStyleDeclaration>; | ||
// classList?: string[]; | ||
// events?: { [key: string]: EventHandler }; // Change the type here | ||
// [key: string]: any; | ||
// }; | ||
export type Children = Array<string | Element>; | ||
export enum HTML { | ||
Div = "div", | ||
Anchor = "a", | ||
Paragraph = "p", | ||
Heading1 = "h1", | ||
Heading2 = "h2", | ||
Heading3 = "h3", | ||
Heading4 = "h4", | ||
Heading5 = "h5", | ||
Heading6 = "h6", | ||
Image = "img", | ||
UnorderedList = "ul", | ||
OrderedList = "ol", | ||
ListItem = "li", | ||
Table = "table", | ||
TableRow = "tr", | ||
TableCell = "td", | ||
TableHeaderCell = "th", | ||
TableHead = "thead", | ||
TableBody = "tbody", | ||
TableFoot = "tfoot", | ||
Form = "form", | ||
Input = "input", | ||
TextArea = "textarea", | ||
Button = "button", | ||
Select = "select", | ||
Option = "option", | ||
Label = "label", | ||
Fieldset = "fieldset", | ||
Legend = "legend", | ||
LineBreak = "br", | ||
HorizontalRule = "hr", | ||
Iframe = "iframe", | ||
Audio = "audio", | ||
Video = "video", | ||
Canvas = "canvas", | ||
SVG = "svg", | ||
Header = "header", | ||
Footer = "footer", | ||
Navigation = "nav", | ||
Main = "main", | ||
Article = "article", | ||
Section = "section", | ||
Aside = "aside", | ||
Time = "time", | ||
Mark = "mark", | ||
BlockQuote = "blockquote", | ||
// export type Children = Array<string | Element>; | ||
// export enum HTML { | ||
// Div = "div", | ||
// Anchor = "a", | ||
// Paragraph = "p", | ||
// Heading1 = "h1", | ||
// Heading2 = "h2", | ||
// Heading3 = "h3", | ||
// Heading4 = "h4", | ||
// Heading5 = "h5", | ||
// Heading6 = "h6", | ||
// Image = "img", | ||
// UnorderedList = "ul", | ||
// OrderedList = "ol", | ||
// ListItem = "li", | ||
// Table = "table", | ||
// TableRow = "tr", | ||
// TableCell = "td", | ||
// TableHeaderCell = "th", | ||
// TableHead = "thead", | ||
// TableBody = "tbody", | ||
// TableFoot = "tfoot", | ||
// Form = "form", | ||
// Input = "input", | ||
// TextArea = "textarea", | ||
// Button = "button", | ||
// Select = "select", | ||
// Option = "option", | ||
// Label = "label", | ||
// Fieldset = "fieldset", | ||
// Legend = "legend", | ||
// LineBreak = "br", | ||
// HorizontalRule = "hr", | ||
// Iframe = "iframe", | ||
// Audio = "audio", | ||
// Video = "video", | ||
// Canvas = "canvas", | ||
// SVG = "svg", | ||
// Header = "header", | ||
// Footer = "footer", | ||
// Navigation = "nav", | ||
// Main = "main", | ||
// Article = "article", | ||
// Section = "section", | ||
// Aside = "aside", | ||
// Time = "time", | ||
// Mark = "mark", | ||
// BlockQuote = "blockquote", | ||
// } | ||
// export type ElementCreator = { | ||
// tag: HTML; | ||
// attrs?: ElementAttributes; | ||
// children?: Children; | ||
// }; | ||
type HTMLTags = 'a' | 'abbr' | 'address' | 'area' | 'article' | 'aside' | 'audio' | 'b' | | ||
'base' | 'bdi' | 'bdo' | 'blockquote' | 'body' | 'br' | 'button' | 'canvas' | 'caption' | | ||
'cite' | 'code' | 'col' | 'colgroup' | 'data' | 'datalist' | 'dd' | 'del' | 'details' | | ||
'dfn' | 'dialog' | 'div' | 'dl' | 'dt' | 'em' | 'embed' | 'fieldset' | 'figcaption' | | ||
'figure' | 'footer' | 'form' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'head' | 'header' | | ||
'hgroup' | 'hr' | 'html' | 'i' | 'iframe' | 'img' | 'input' | 'ins' | 'kbd' | 'label' | | ||
'legend' | 'li' | 'link' | 'main' | 'map' | 'mark' | 'meta' | 'meter' | 'nav' | 'noscript' | | ||
'object' | 'ol' | 'optgroup' | 'option' | 'output' | 'p' | 'param' | 'picture' | 'pre' | | ||
'progress' | 'q' | 'rp' | 'rt' | 'ruby' | 's' | 'samp' | 'section' | 'select' | | ||
'small' | 'source' | 'span' | 'strong' | 'style' | 'sub' | 'summary' | 'sup' | 'table' | | ||
'tbody' | 'td' | 'template' | 'textarea' | 'tfoot' | 'th' | 'thead' | 'time' | 'title' | | ||
'tr' | 'track' | 'u' | 'ul' | 'var' | 'video' | 'wbr'; | ||
export interface VNode { | ||
$tag: HTMLTags; | ||
$attrs?: Record<string , string | number | boolean>; | ||
$children?: (VNode | string)[]; | ||
} | ||
export type ElementCreator = { | ||
tag: HTML; | ||
attrs?: ElementAttributes; | ||
children?: Children; | ||
}; | ||
export interface Mount{ | ||
$node: HTMLElement; | ||
$target: HTMLElement | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
12661
11
321