jmx-runtime 0.0.12 → 0.0.14

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/base.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"./","sources":["base.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAC,CAAsB;IACzC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;SACrE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,aAAa,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC;SAC3E,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,OAAO,CAAC,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,CAAsB,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAgC,CAAI,EAAE,MAAwD,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE;IAC3I,GAAG,CAAC,MAAM,EAAE,IAAY,EAAE,QAAQ;QAC9B,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACrC,OAAO,UAAmB,GAAG,IAAW;gBAEpC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;gBAC7B,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACtC,OAAO,CAAC,CAAA;YACZ,CAAC,CAAA;QACL,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;CACJ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAgC,CAAI,EAAM,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,6DAA6D,EAAE,IAAI,CAAC,CAAC,CAAA;AACnN,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAgC,OAAe,EAAE,CAAI,EAAM,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,cAAc,OAAO,2CAA2C,EAAE,IAAI,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"base.js","sourceRoot":"./","sources":["base.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAC,CAAsB;IACzC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;SACrE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,aAAa,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC;SAC3E,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,OAAO,CAAC,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,CAAsB,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAgC,CAAI,EAAE,MAAwD,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE;IAC3I,GAAG,CAAC,MAAM,EAAE,IAAY,EAAE,QAAQ;QAC9B,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACrC,OAAO,UAAmB,GAAG,IAAW;gBAEpC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;gBAC7B,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACtC,OAAO,CAAC,CAAA;YACZ,CAAC,CAAA;QACL,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;CACJ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAgC,CAAI,EAAM,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,6DAA6D,EAAE,IAAI,CAAC,CAAC,CAAA;AACnN,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAgC,OAAe,EAAE,CAAI,EAAM,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,cAAc,OAAO,2CAA2C,EAAE,IAAI,CAAC,CAAC,CAAA","sourcesContent":["export function rebind(o: Record<string, any>) {\r\n Object.entries(Object.getOwnPropertyDescriptors(Object.getPrototypeOf(o)))\r\n .filter(([name, p]) => name != 'constructor' && p.value instanceof Function)\r\n .forEach(([name]) => o[name] = o[name].bind(o))\r\n return o\r\n}\r\n\r\nexport function mount(o: Record<string, any>) { Object.assign(globalThis, o) }\r\n\r\nexport const loggedmethodsex = <T extends Record<string, any>>(o: T, logger: (name: string, args: any[], result: any) => void) => new Proxy(o, {\r\n get(target, name: string, receiver) {\r\n if (typeof target[name] === \"function\") {\r\n return function (this: T, ...args: any[]) {\r\n\r\n logger(name, args, undefined)\r\n let r = target[name].apply(this, args)\r\n return r\r\n }\r\n }\r\n return Reflect.get(target, name, receiver)\r\n },\r\n})\r\n\r\nexport const loggedmethods = <T extends Record<string, any>>(o: T ): T => loggedmethodsex(o, (name, args, result) => console.log(\"%c\" + name, \"background:#585059;color:white;padding:2px;font-weight:bold\", args))\r\nexport const loggedmethodscolored = <T extends Record<string, any>>(bgcolor: string, o: T ): T => loggedmethodsex(o, (name, args, result) => console.log(\"%c\" + name, `background:${bgcolor};color:white;padding:2px;font-weight:bold`, args))\r\n"]}
package/dist/h.d.ts CHANGED
@@ -52,5 +52,7 @@ declare global {
52
52
  };
53
53
  }
54
54
  }
55
+ export declare function jsx(): HElement;
56
+ export declare function jsxf(): HElement;
55
57
  export {};
56
58
  //# sourceMappingURL=h.d.ts.map
package/dist/h.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"h.d.ts","sourceRoot":"./","sources":["h.ts"],"names":[],"mappings":"AAIA,KAAK,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAA;AACtB,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AAEjC,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEvC,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,QAAQ,CAAA;AAErF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,KAAK,CAAC,GAAG,IAAI,CAAA;AAEhE,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,IAAI,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,IAAI,IAAI,CAAC,CAAA;IACT,MAAM,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,GAAG,IAAI,CAAA;IAC1C,OAAO,CAAC,IAAI,IAAI,CAAA;CACnB;AAED,UAAU,UAAU;IAChB,KAAK,KAAK,EAAE,GAAG,GAAG,eAAe,CAAA;CACpC;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAA;AACzC,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;AAEtC,KAAK,KAAK,GACJ,MAAM,GACN,MAAM,GACN,OAAO,CAAA;AAEb,MAAM,MAAM,SAAS,GAAG;IACpB,EAAE,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,EAAE,EAAE,QAAQ,CAAA;IACZ,CAAC,CAAC,EAAE,GAAG,CAAA;CACV,CAAA;AAED,KAAK,QAAQ,GAAG;IACZ,GAAG,EAAE,UAAU,CAAA;IACf,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,EAAE,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,GAAG,EAAE,UAAU,CAAA;IACf,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,EAAE,EAAE,QAAQ,CAAA;IACZ,CAAC,EAAE,eAAe,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEzC,MAAM,MAAM,CAAC,GAEH,KAAK,GACL,QAAQ,GACR,KAAK,GACL,SAAS,CAAA;AAEnB,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,IAAI;QACV,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAA;KACvC;IACD,MAAM,WAAW,cAAc;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;KACpB;IAED,MAAM,WAAW,MAAM;QACnB,GAAG,CAAC,EAAE;YACF,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;SACpD,CAAA;KACJ;CACJ"}
1
+ {"version":3,"file":"h.d.ts","sourceRoot":"./","sources":["h.ts"],"names":[],"mappings":"AAIA,KAAK,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAA;AACtB,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AAEjC,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEvC,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,QAAQ,CAAA;AAErF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,KAAK,CAAC,GAAG,IAAI,CAAA;AAEhE,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,IAAI,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,IAAI,IAAI,CAAC,CAAA;IACT,MAAM,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,GAAG,IAAI,CAAA;IAC1C,OAAO,CAAC,IAAI,IAAI,CAAA;CACnB;AAED,UAAU,UAAU;IAChB,KAAK,KAAK,EAAE,GAAG,GAAG,eAAe,CAAA;CACpC;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAA;AACzC,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;AAEtC,KAAK,KAAK,GACJ,MAAM,GACN,MAAM,GACN,OAAO,CAAA;AAEb,MAAM,MAAM,SAAS,GAAG;IACpB,EAAE,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,EAAE,EAAE,QAAQ,CAAA;IACZ,CAAC,CAAC,EAAE,GAAG,CAAA;CACV,CAAA;AAED,KAAK,QAAQ,GAAG;IACZ,GAAG,EAAE,UAAU,CAAA;IACf,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,EAAE,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,GAAG,EAAE,UAAU,CAAA;IACf,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACf,EAAE,EAAE,QAAQ,CAAA;IACZ,CAAC,EAAE,eAAe,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEzC,MAAM,MAAM,CAAC,GAEH,KAAK,GACL,QAAQ,GACR,KAAK,GACL,SAAS,CAAA;AAEnB,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,IAAI;QACV,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAA;KACvC;IACD,MAAM,WAAW,cAAc;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;KACpB;IAED,MAAM,WAAW,MAAM;QACnB,GAAG,CAAC,EAAE;YACF,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;SACpD,CAAA;KACJ;CACJ;AAED,wBAAgB,GAAG,IAAI,QAAQ,CAE9B;AACD,wBAAgB,IAAI,IAAI,QAAQ,CAE/B"}
package/dist/h.js CHANGED
@@ -1,2 +1,7 @@
1
- export {};
1
+ export function jsx() {
2
+ throw 'jmx plugin not configured';
3
+ }
4
+ export function jsxf() {
5
+ throw 'jmx plugin not configured';
6
+ }
2
7
  //# sourceMappingURL=h.js.map
package/dist/h.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"h.js","sourceRoot":"./","sources":["h.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"h.js","sourceRoot":"./","sources":["h.ts"],"names":[],"mappings":"AAkFA,MAAM,UAAU,GAAG;IACf,MAAM,2BAA2B,CAAA;AACrC,CAAC;AACD,MAAM,UAAU,IAAI;IAChB,MAAM,2BAA2B,CAAA;AACrC,CAAC","sourcesContent":["// jmx internal types - hopst\r\n// the following types describe the js expression we get from tsx after conversion be our jmx plugin\r\n// they can be useful for users as well, components might return them.\r\n\r\ntype Func<T> = () => T\r\nexport type Expr<T> = T | Func<T>\r\n\r\nexport type Props = Record<string, any>\r\n\r\nexport type FComponent = (props: Props | undefined, children?: ChildrenH) => HElement // show an example for usage of children\r\n\r\nexport type FComponentT<P> = (pcn: P, cn?: Children) => H | void\r\n\r\nexport interface IClassComponent {\r\n element: Node\r\n props?: Record<string, any>\r\n view(): H\r\n update(uc: IUpdateContext): boolean | void\r\n mounted?(): void\r\n}\r\n\r\ninterface CComponent {\r\n new (props: any): IClassComponent // while a real component expresses its interface via props pass to the ctor, internally we assign props after construction with new()\r\n}\r\n\r\nexport type ChildrenH = (H | undefined)[]\r\nexport type Children = Expr<ChildrenH>\r\n\r\ntype HText =\r\n | string // text node\r\n | number // text node\r\n | boolean // do not allow boolean, that\r\n\r\nexport type HFragment = {\r\n cn: Children\r\n}\r\n\r\nexport type HElement = {\r\n tag: string\r\n p?: Expr<Props>\r\n cn: Children\r\n i?: any\r\n}\r\n\r\ntype HCompFun = {\r\n tag: FComponent\r\n p?: Expr<Props>\r\n cn?: Children\r\n}\r\n\r\nexport type HCompClass = {\r\n tag: CComponent\r\n p?: Expr<Props>\r\n cn: Children\r\n i: IClassComponent\r\n}\r\n\r\nexport type HComp = HCompFun | HCompClass\r\n\r\nexport type H = // a hyperscript atom that describes a ...\r\n\r\n | HText\r\n | HElement // a tag, like p, div with attributes and children\r\n | HComp // a dynamic component computing any other HNode\r\n | HFragment\r\n\r\ndeclare global {\r\n interface Node {\r\n h?: HElement | HCompFun | HCompClass\r\n }\r\n export interface IUpdateContext {\r\n patchElementOnly?: boolean\r\n replace?: boolean\r\n }\r\n\r\n export interface Window {\r\n jmx?: {\r\n getnamespace: (tag: string) => string | undefined\r\n }\r\n }\r\n}\r\n\r\nexport function jsx(): HElement {\r\n throw 'jmx plugin not configured'\r\n} // dumy function for app code - jmx-plugin removes calls to this function, minifyer then removes it\r\nexport function jsxf(): HElement {\r\n throw 'jmx plugin not configured'\r\n} // dumy function for app code - jmx-plugin removes calls to this function, minifyer then removes it\r\n"]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"./","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,KAAK,CAAC;AACpB,cAAc,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"./","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,KAAK,CAAC;AACpB,cAAc,OAAO,CAAC","sourcesContent":["export * from './jmx';\r\nexport * from './lib';\r\nexport * from './base';\r\nexport * from './h';\r\nexport * from './jsx';\r\n"]}
package/dist/jmx.d.ts CHANGED
@@ -1,11 +1,9 @@
1
- import { Expr, H, HElement } from './h';
1
+ import { Expr, H } from './h';
2
2
  export declare function createElement(tag: string): Element;
3
3
  export declare function patch(e: Node | null, h: Expr<H>): void;
4
4
  type Selector = string | Node | undefined | null;
5
5
  type Selectors = Selector[];
6
6
  export declare function updateviewuc(uc: IUpdateContext, ...sels: Selectors): void;
7
7
  export declare function updateview(...sels: Selectors): void;
8
- export declare function jsx(): HElement;
9
- export declare function jsxf(): HElement;
10
8
  export {};
11
9
  //# sourceMappingURL=jmx.d.ts.map
package/dist/jmx.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jmx.d.ts","sourceRoot":"./","sources":["jmx.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAc,CAAC,EAAqB,QAAQ,EAAqC,MAAM,KAAK,CAAA;AAGzG,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,WAGxC;AA6ID,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAO/C;AAGD,KAAK,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAA;AAChD,KAAK,SAAS,GAAG,QAAQ,EAAE,CAAA;AAE3B,wBAAgB,YAAY,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,SAAS,GAAG,IAAI,CAKzE;AACD,wBAAgB,UAAU,CAAC,GAAG,IAAI,EAAE,SAAS,GAAG,IAAI,CAKnD;AASD,wBAAgB,GAAG,IAAI,QAAQ,CAE9B;AACD,wBAAgB,IAAI,IAAI,QAAQ,CAE/B"}
1
+ {"version":3,"file":"jmx.d.ts","sourceRoot":"./","sources":["jmx.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAc,CAAC,EAAkE,MAAM,KAAK,CAAA;AAGzG,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,WAGxC;AA6ID,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAO/C;AAGD,KAAK,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAA;AAChD,KAAK,SAAS,GAAG,QAAQ,EAAE,CAAA;AAE3B,wBAAgB,YAAY,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,SAAS,GAAG,IAAI,CAKzE;AACD,wBAAgB,UAAU,CAAC,GAAG,IAAI,EAAE,SAAS,GAAG,IAAI,CAKnD"}
package/dist/jmx.js CHANGED
@@ -124,16 +124,12 @@ export function updateview(...sels) {
124
124
  }
125
125
  }
126
126
  function updateviewinternal(...sels) {
127
+ if (!sels.length)
128
+ sels.push('body');
127
129
  sels.flatMap(s => (typeof s == 'string' ? [...document.querySelectorAll(s)] : s ? [s] : [])).forEach(e => {
128
130
  if (!e?.h)
129
131
  throw 'jmx: no h exists on the node';
130
132
  patch(e, e.h);
131
133
  });
132
134
  }
133
- export function jsx() {
134
- throw 'jmx plugin not configured';
135
- }
136
- export function jsxf() {
137
- throw 'jmx plugin not configured';
138
- }
139
135
  //# sourceMappingURL=jmx.js.map
package/dist/jmx.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jmx.js","sourceRoot":"./","sources":["jmx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jmx.js","sourceRoot":"./","sources":["jmx.ts"],"names":[],"mappings":"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","sourcesContent":["import { rebind } from './base'\r\nimport { Expr, FComponent, H, HComp, HCompClass, HElement, HFragment, IClassComponent, Props } from './h'\r\n\r\n// config\r\nexport function createElement(tag: string) {\r\n let ns = window.jmx?.getnamespace?.(tag)\r\n return ns ? document.createElementNS(ns, tag) : document.createElement(tag)\r\n}\r\n\r\nconst enum NodeType { // vaporizes (but for that must be in this file, otherwise not)\r\n TextNode = 3,\r\n}\r\n\r\nlet evaluate = <T>(expr: Expr<T>): T => (expr instanceof Function ? expr() : expr)\r\nlet removeexcesschildren = (n: Element, i: number) => {\r\n let c: ChildNode\r\n while ((c = n.childNodes[i])) {\r\n c.remove()\r\n }\r\n}\r\nlet iswebcomponent = (h: HElement) => (h.tag as string).includes('-')\r\nlet isclasscomponent = (h: HComp): h is HCompClass => (h.tag as any)?.prototype?.view\r\nlet iselement = (h: any): h is HElement => typeof h.tag == 'string'\r\nlet isfragment = (h: any): h is HFragment => {\r\n return h.tag == undefined && h.cn != undefined\r\n}\r\nlet isobject = (o: any): o is object => typeof o === 'object'\r\n\r\nlet isproperty = (name: string, value: any) =>\r\n ['value', 'checked', 'disabled', 'className', 'style', 'href', 'src', 'selected', 'readOnly', 'tabIndex'].includes(\r\n name\r\n ) ||\r\n value instanceof Object ||\r\n value instanceof Function\r\n\r\nlet setprops = (e: Element, newprops: Props = {}) => {\r\n let oldprops = evaluate(e.h?.p) ?? {}\r\n for (let p in oldprops)\r\n !(p in newprops) && isproperty(p, oldprops[p]) ? ((e as any)[p] = null) : e.removeAttribute(p)\r\n for (let p in newprops) isproperty(p, newprops[p]) ? ((e as any)[p] = newprops[p]) : e.setAttribute(p, newprops[p])\r\n}\r\n\r\n/** syncs at position i of p. returns the number of the element past the last added element.\r\n * if no element was added (eg when h=null) then it returns i\r\n * if a fragment with 5 nodes was added, it returns i + 5\r\n * when a single element or component is added, it is i+1 since they always create exactly 1 node\r\n */\r\nfunction sync(p: Element, i: number, h: Expr<H | undefined>): number {\r\n // console.log('%csync', \"background:orange\", p.tagName, i, h, 'html = ' + document.body.outerHTML)\r\n\r\n h = evaluate(h)\r\n if (h === null || h === undefined) return i // skip this element. not that !!h would forbid to render the number 0 or the boolean value false\r\n\r\n let c = p.childNodes[i] // is often null, eg during fresh creation\r\n\r\n function synctextnode(text: string) {\r\n if (c && c.nodeType == NodeType.TextNode) {\r\n if (c.textContent != text) c.textContent = text // firefox updates even equal text, loosing an existing text selection\r\n } else {\r\n let tn = document.createTextNode(text)\r\n c ? c.replaceWith(tn) : p.appendChild(tn)\r\n }\r\n }\r\n\r\n if (isobject(h)) {\r\n // element nodes\r\n\r\n /** synchronizes children starting at the i-th element. returns the index of the last child synchronized */\r\n function syncchildren(p: Element, h: HElement | HComp | HFragment, i: number): number {\r\n evaluate(h.cn)\r\n ?.flat()\r\n .forEach(hc => (i = sync(p, i, hc)))\r\n return i\r\n }\r\n\r\n if (isfragment(h)) return syncchildren(p, h, i)\r\n\r\n const props = evaluate(h.p)\r\n\r\n if (iselement(h)) {\r\n let n: Element\r\n\r\n if ((<Element>c)?.tagName != h.tag) {\r\n n = createElement(h.tag)\r\n c ? c.replaceWith(n) : p.appendChild(n)\r\n setprops(n, props)\r\n props?.mounted?.(n)\r\n } else {\r\n n = c as Element\r\n setprops(n, props)\r\n if (props?.update?.(c, globaluc)) return i + 1\r\n }\r\n\r\n // if only components shall be updateable (advantage: close variables inside component functions are always fresh materialized, avoids surprises), comment this out\r\n n.h = h\r\n\r\n if (!globaluc.patchElementOnly && !iswebcomponent(h as HElement)) {\r\n // tbd: make \"island\" attribute\r\n const j = syncchildren(n, h, 0)\r\n removeexcesschildren(n, j)\r\n }\r\n return i + 1\r\n }\r\n\r\n switch (typeof h.tag) {\r\n case 'function':\r\n let isupdate = c?.h?.tag == h.tag\r\n\r\n let ci: IClassComponent | undefined\r\n\r\n if (isclasscomponent(h)) {\r\n h.i = ci = (c?.h as HCompClass)?.i ?? rebind(new h.tag(props))\r\n ci.props = props\r\n\r\n // if component instance returns truthy for update(), then syncing is susbstituted by the component\r\n if (isupdate && ci.update(globaluc)) return i + 1\r\n }\r\n\r\n // materialize the component\r\n // we run compoents view() and fun code often, we do not compare properties to avoid their computation\r\n // this means that the inner hr (h resolved) is run often\r\n let hr = ci?.view() ?? (h.tag as FComponent)(props, evaluate(h.cn))\r\n\r\n // a component can return undefined or null if it has no elements to show\r\n if (hr === undefined || hr == null) return i\r\n\r\n let j = sync(p, i, hr)\r\n\r\n let cn = p.childNodes[i]!\r\n cn.h = h // attach h onto the materialized component node\r\n // ;(cn as HTMLElement).setAttribute?.('comp', '')\r\n\r\n if (ci) ci.element = cn\r\n if (!isupdate) ci?.mounted?.()\r\n\r\n return j\r\n\r\n case 'object':\r\n return sync(p, i, h.tag) // tbd: type of h is not correct, h.tag == never\r\n }\r\n }\r\n // text nodes\r\n synctextnode(h as string)\r\n return i + 1\r\n}\r\n\r\nlet globaluc: IUpdateContext = {}\r\n\r\nexport function patch(e: Node | null, h: Expr<H>) {\r\n if (!e) return\r\n if (globaluc.replace) (e as HTMLElement).replaceChildren()\r\n const p = e.parentElement as HTMLElement\r\n const i = [].indexOf.call<any, any, any>(p.childNodes, e)\r\n // always called deferred, because removing elements can trigger events and their handlers (like blur)\r\n sync(p, i, h)\r\n}\r\n\r\n// Overload signatures\r\ntype Selector = string | Node | undefined | null\r\ntype Selectors = Selector[]\r\n\r\nexport function updateviewuc(uc: IUpdateContext, ...sels: Selectors): void {\r\n {\r\n globaluc = uc\r\n updateviewinternal(...sels)\r\n }\r\n}\r\nexport function updateview(...sels: Selectors): void {\r\n {\r\n globaluc = {}\r\n updateviewinternal(...sels)\r\n }\r\n}\r\n\r\nfunction updateviewinternal(...sels: Selector[]): void {\r\n if (!sels.length) sels.push('body')\r\n sels.flatMap(s => (typeof s == 'string' ? [...document.querySelectorAll(s)] : s ? [s] : [])).forEach(e => {\r\n if (!e?.h) throw 'jmx: no h exists on the node'\r\n patch(e, e.h)\r\n })\r\n}\r\n"]}
package/dist/jsx.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.js","sourceRoot":"./","sources":["jsx.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"jsx.js","sourceRoot":"./","sources":["jsx.ts"],"names":[],"mappings":"","sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-interface */\r\n/* eslint-disable @typescript-eslint/ban-types */\r\n// This code is based on react definition in DefinitelyTyped published under the MIT license.\r\n// Repository: https://github.com/DefinitelyTyped/DefinitelyTyped\r\n// Path in the repository: types/react/v15/index.d.ts\r\n//\r\n// Copyrights of original definition are:\r\n// Asana <https://asana.com>\r\n// AssureSign <http://www.assuresign.com>\r\n// Microsoft <https://microsoft.com>\r\n// John Reilly <https://github.com/johnnyreilly/>\r\n// Benoit Benezech <https://github.com/bbenezech>\r\n// Patricio Zavolinsky <https://github.com/pzavolinsky>\r\n// Digiguru <https://github.com/digiguru>\r\n// Eric Anderson <https://github.com/ericanderson>\r\n// Albert Kurniawan <https://github.com/morcerf>\r\n// Tanguy Krotoff <https://github.com/tkrotoff>\r\n// Dovydas Navickas <https://github.com/DovydasNavickas>\r\n// Stéphane Goetz <https://github.com/onigoetz>\r\n\r\ndeclare global {\r\n namespace JSX {\r\n interface IntrinsicElements extends IntrinsicElementAttributes {\r\n // additional attributes for selected elements\r\n // label: HTMLAttributes & { bunny: number }\r\n }\r\n }\r\n}\r\n\r\ninterface EventHandler<E extends Event> {\r\n (event: E): void\r\n}\r\n\r\nexport interface AdditionalElementAttributes {\r\n mounted?: (n:Node) => void\r\n update?: (n:Node, uc:IUpdateContext) => void\r\n}\r\n\r\nexport interface HTMLAttributes extends AdditionalElementAttributes {\r\n class?: string\r\n style?: string\r\n accesskey?: string\r\n contenteditable?: boolean\r\n contextmenu?: string\r\n dir?: string\r\n disabled?: boolean\r\n draggable?: boolean\r\n hidden?: boolean\r\n id?: string\r\n lang?: string\r\n spellcheck?: boolean\r\n tabindex?: number\r\n title?: string\r\n role?: string\r\n\r\n // clipboard events\r\n onCopy?: ClipboardEvent\r\n onCut?: ClipboardEvent\r\n onPaste?: ClipboardEvent\r\n\r\n // composition events\r\n onCompositionend?: CompositionEvent\r\n onCompositionstart?: CompositionEvent\r\n onCompositionupdate?: CompositionEvent\r\n\r\n // drag drop events\r\n ondrag?: EventHandler<DragEvent>\r\n ondragend?: EventHandler<DragEvent>\r\n ondragenter?: EventHandler<DragEvent>\r\n ondragexit?: EventHandler<DragEvent>\r\n ondragleave?: EventHandler<DragEvent>\r\n ondragover?: EventHandler<DragEvent>\r\n ondragstart?: EventHandler<DragEvent>\r\n ondrop?: EventHandler<DragEvent>\r\n\r\n // focus events\r\n onfocus?: (ev: FocusEvent) => void\r\n onfocusout?: (ev: FocusEvent) => void\r\n onblur?: (ev: FocusEvent) => void\r\n\r\n // form events\r\n onchange?: EventHandler<Event>\r\n oninput?: EventHandler<Event>\r\n onreset?: EventHandler<Event>\r\n onsubmit?: EventHandler<Event>\r\n oninvalid?: EventHandler<Event>\r\n\r\n // image events\r\n onload?: EventHandler<Event>\r\n onerror?: EventHandler<Event>\r\n\r\n // keyboard events\r\n onkeydown?: EventHandler<KeyboardEvent>\r\n onkeypress?: EventHandler<KeyboardEvent>\r\n onkeyup?: EventHandler<KeyboardEvent>\r\n\r\n // mouse events\r\n onclick?: EventHandler<MouseEvent>\r\n oncontextmenu?: EventHandler<MouseEvent>\r\n ondblclick?: EventHandler<MouseEvent>\r\n onmousedown?: EventHandler<MouseEvent>\r\n onmouseenter?: EventHandler<MouseEvent>\r\n onmouseleave?: EventHandler<MouseEvent>\r\n onmousemove?: EventHandler<MouseEvent>\r\n onmouseout?: EventHandler<MouseEvent>\r\n onmouseover?: EventHandler<MouseEvent>\r\n onmouseup?: EventHandler<MouseEvent>\r\n\r\n // media events\r\n onAbort?: EventHandler<Event>\r\n onCanplay?: EventHandler<Event>\r\n onCanplaythrough?: EventHandler<Event>\r\n onDurationchange?: EventHandler<Event>\r\n onEmptied?: EventHandler<Event>\r\n onEncrypted?: EventHandler<Event>\r\n onEnded?: EventHandler<Event>\r\n onLoadeddata?: EventHandler<Event>\r\n onLoadedmetadata?: EventHandler<Event>\r\n onLoadstart?: EventHandler<Event>\r\n onPause?: EventHandler<Event>\r\n onPlay?: EventHandler<Event>\r\n onPlaying?: EventHandler<Event>\r\n onProgress?: EventHandler<Event>\r\n onRatechange?: EventHandler<Event>\r\n onSeeked?: EventHandler<Event>\r\n onSeeking?: EventHandler<Event>\r\n onStalled?: EventHandler<Event>\r\n onSuspend?: EventHandler<Event>\r\n onTimeupdate?: EventHandler<Event>\r\n onVolumechange?: EventHandler<Event>\r\n onWaiting?: EventHandler<Event>\r\n\r\n // selection events\r\n onSelect?: EventHandler<Event>\r\n\r\n // UI events\r\n onScroll?: UIEvent\r\n\r\n // touch events\r\n onTouchcancel?: TouchEvent\r\n onTouchend?: TouchEvent\r\n onTouchmove?: TouchEvent\r\n onTouchstart?: TouchEvent\r\n\r\n // wheel events\r\n onWheel?: WheelEvent\r\n\r\n // animation events\r\n onAnimationstart?: AnimationEvent\r\n onAnimationend?: AnimationEvent\r\n onAnimationiteration?: AnimationEvent\r\n\r\n // transition events\r\n onTransitionend?: TransitionEvent\r\n onTransitionstart?: TransitionEvent\r\n}\r\n\r\nexport interface AnchorHTMLAttributes extends HTMLAttributes {\r\n download?: any\r\n href?: string\r\n hreflang?: string\r\n media?: string\r\n rel?: string\r\n target?: string\r\n}\r\n\r\nexport interface AreaHTMLAttributes extends HTMLAttributes {\r\n alt?: string\r\n coord?: string\r\n download?: any\r\n href?: string\r\n hreflang?: string\r\n media?: string\r\n rel?: string\r\n shape?: string\r\n target?: string\r\n}\r\n\r\nexport interface AudioHTMLAttributes extends MediaHTMLAttributes { }\r\n\r\nexport interface BaseHTMLAttributes extends HTMLAttributes {\r\n href?: string\r\n target?: string\r\n}\r\n\r\nexport interface BlockquoteHTMLAttributes extends HTMLAttributes {\r\n cite?: string\r\n}\r\n\r\nexport interface ButtonHTMLAttributes extends HTMLAttributes {\r\n autofocus?: boolean\r\n disabled?: boolean\r\n form?: string\r\n formaction?: string\r\n formenctype?: string\r\n formmethod?: string\r\n formnovalidate?: boolean\r\n formtarget?: string\r\n name?: string\r\n type?: string\r\n value?: string | string[] | number\r\n}\r\n\r\nexport interface CanvasHTMLAttributes extends HTMLAttributes {\r\n height?: number | string\r\n width?: number | string\r\n}\r\n\r\nexport interface ColHTMLAttributes extends HTMLAttributes {\r\n span?: number\r\n}\r\n\r\nexport interface ColgroupHTMLAttributes extends ColHTMLAttributes { }\r\n\r\nexport interface DetailsHTMLAttributes extends HTMLAttributes {\r\n open?: boolean\r\n}\r\n\r\nexport interface DelHTMLAttributes extends HTMLAttributes {\r\n cite?: string\r\n datetime?: string\r\n}\r\n\r\nexport interface EmbedHTMLAttributes extends HTMLAttributes {\r\n height?: number | string\r\n src?: string\r\n type?: string\r\n width?: number | string\r\n}\r\n\r\nexport interface FieldsetHTMLAttributes extends HTMLAttributes {\r\n disabled?: boolean\r\n form?: string\r\n name?: string\r\n}\r\n\r\nexport interface FormHTMLAttributes extends HTMLAttributes {\r\n acceptcharset?: string\r\n action?: string\r\n autocomplete?: string\r\n enctype?: string\r\n method?: string\r\n name?: string\r\n novalidate?: boolean\r\n target?: string\r\n}\r\n\r\nexport interface HtmlHTMLAttributes extends HTMLAttributes {\r\n manifest?: string\r\n}\r\n\r\nexport interface IframeHTMLAttributes extends HTMLAttributes {\r\n allowfullscreen?: boolean\r\n allowtransparency?: boolean\r\n frameborder?: number | string\r\n height?: number | string\r\n marginheight?: number\r\n marginwidth?: number\r\n name?: string\r\n sandbox?: string\r\n scrolling?: string\r\n seamless?: boolean\r\n src?: string\r\n srcdoc?: string\r\n width?: number | string\r\n}\r\n\r\nexport interface ImgHTMLAttributes extends HTMLAttributes {\r\n alt?: string\r\n height?: number | string\r\n sizes?: string\r\n src?: string\r\n srcset?: string\r\n usemap?: string\r\n width?: number | string\r\n}\r\n\r\nexport interface InsHTMLAttributes extends HTMLAttributes {\r\n cite?: string\r\n datetime?: string\r\n}\r\n\r\nexport interface InputHTMLAttributes extends HTMLAttributes {\r\n accept?: string\r\n alt?: string\r\n autocomplete?: string\r\n autofocus?: boolean\r\n capture?: boolean // https://www.w3.org/tr/html-media-capture/#the-capture-attribute\r\n checked?: boolean\r\n crossorigin?: string\r\n disabled?: boolean\r\n form?: string\r\n formaction?: string\r\n formenctype?: string\r\n formmethod?: string\r\n formnovalidate?: boolean\r\n formtarget?: string\r\n height?: number | string\r\n list?: string\r\n max?: number | string\r\n maxlength?: number\r\n min?: number | string\r\n minlength?: number\r\n multiple?: boolean\r\n name?: string\r\n pattern?: string\r\n placeholder?: string\r\n readonly?: boolean\r\n required?: boolean\r\n size?: number\r\n src?: string\r\n step?: number | string\r\n type?: string\r\n value?: string | string[] | number\r\n width?: number | string\r\n}\r\n\r\nexport interface KeygenHTMLAttributes extends HTMLAttributes {\r\n autofocus?: boolean\r\n challenge?: string\r\n disabled?: boolean\r\n form?: string\r\n keytype?: string\r\n keyparams?: string\r\n name?: string\r\n}\r\n\r\nexport interface LabelHTMLAttributes extends HTMLAttributes {\r\n form?: string\r\n for?: string\r\n}\r\n\r\nexport interface LiHTMLAttributes extends HTMLAttributes {\r\n value?: string | string[] | number\r\n}\r\n\r\nexport interface LinkHTMLAttributes extends HTMLAttributes {\r\n href?: string\r\n hreflang?: string\r\n integrity?: string\r\n media?: string\r\n rel?: string\r\n sizes?: string\r\n type?: string\r\n}\r\n\r\nexport interface MapHTMLAttributes extends HTMLAttributes {\r\n name?: string\r\n}\r\n\r\nexport interface MenuHTMLAttributes extends HTMLAttributes {\r\n type?: string\r\n}\r\n\r\nexport interface MediaHTMLAttributes extends HTMLAttributes {\r\n autoplay?: boolean\r\n controls?: boolean\r\n crossorigin?: string\r\n loop?: boolean\r\n mediagroup?: string\r\n muted?: boolean\r\n preload?: string\r\n src?: string\r\n}\r\n\r\nexport interface MetaHTMLAttributes extends HTMLAttributes {\r\n charset?: string\r\n content?: string\r\n httpequiv?: string\r\n name?: string\r\n}\r\n\r\nexport interface MeterHTMLAttributes extends HTMLAttributes {\r\n form?: string\r\n high?: number\r\n low?: number\r\n max?: number | string\r\n min?: number | string\r\n optimum?: number\r\n value?: string | string[] | number\r\n}\r\n\r\nexport interface QuoteHTMLAttributes extends HTMLAttributes {\r\n cite?: string\r\n}\r\n\r\nexport interface ObjectHTMLAttributes extends HTMLAttributes {\r\n classid?: string\r\n data?: string\r\n form?: string\r\n height?: number | string\r\n name?: string\r\n type?: string\r\n usemap?: string\r\n width?: number | string\r\n wmode?: string\r\n}\r\n\r\nexport interface OlHTMLAttributes extends HTMLAttributes {\r\n reversed?: boolean\r\n start?: number\r\n}\r\n\r\nexport interface OptgroupHTMLAttributes extends HTMLAttributes {\r\n disabled?: boolean\r\n label?: string\r\n}\r\n\r\nexport interface OptionHTMLAttributes extends HTMLAttributes {\r\n disabled?: boolean\r\n label?: string\r\n selected?: boolean\r\n value?: string | string[] | number\r\n}\r\n\r\nexport interface OutputHTMLAttributes extends HTMLAttributes {\r\n form?: string\r\n htmlfor?: string\r\n name?: string\r\n}\r\n\r\nexport interface ParamHTMLAttributes extends HTMLAttributes {\r\n name?: string\r\n value?: string | string[] | number\r\n}\r\n\r\nexport interface ProgressHTMLAttributes extends HTMLAttributes {\r\n max?: number | string\r\n value?: string | string[] | number\r\n}\r\n\r\nexport interface ScriptHTMLAttributes extends HTMLAttributes {\r\n async?: boolean\r\n charset?: string\r\n crossorigin?: string\r\n defer?: boolean\r\n integrity?: string\r\n nonce?: string\r\n src?: string\r\n type?: string\r\n}\r\n\r\nexport interface SelectHTMLAttributes extends HTMLAttributes {\r\n autofocus?: boolean\r\n disabled?: boolean\r\n form?: string\r\n multiple?: boolean\r\n name?: string\r\n required?: boolean\r\n size?: number\r\n value?: string | string[] | number\r\n}\r\n\r\nexport interface SourceHTMLAttributes extends HTMLAttributes {\r\n media?: string\r\n sizes?: string\r\n src?: string\r\n srcset?: string\r\n type?: string\r\n}\r\n\r\nexport interface StyleHTMLAttributes extends HTMLAttributes {\r\n media?: string\r\n nonce?: string\r\n scoped?: boolean\r\n type?: string\r\n}\r\n\r\nexport interface TableHTMLAttributes extends HTMLAttributes {\r\n cellpadding?: number | string\r\n cellspacing?: number | string\r\n summary?: string\r\n}\r\n\r\nexport interface TextareaHTMLAttributes extends HTMLAttributes {\r\n autocomplete?: string\r\n autofocus?: boolean\r\n cols?: number\r\n dirname?: string\r\n disabled?: boolean\r\n form?: string\r\n maxlength?: number\r\n minlength?: number\r\n name?: string\r\n placeholder?: string\r\n readonly?: boolean\r\n required?: boolean\r\n rows?: number\r\n value?: string | string[] | number\r\n wrap?: string\r\n}\r\n\r\nexport interface TdHTMLAttributes extends HTMLAttributes {\r\n colspan?: number\r\n headers?: string\r\n rowspan?: number\r\n}\r\n\r\nexport interface ThHTMLAttributes extends HTMLAttributes {\r\n colspan?: number\r\n headers?: string\r\n rowspan?: number\r\n scope?: string\r\n}\r\n\r\nexport interface TimeHTMLAttributes extends HTMLAttributes {\r\n datetime?: string\r\n}\r\n\r\nexport interface TrackHTMLAttributes extends HTMLAttributes {\r\n default?: boolean\r\n kind?: string\r\n label?: string\r\n src?: string\r\n srclang?: string\r\n}\r\n\r\nexport interface VideoHTMLAttributes extends MediaHTMLAttributes {\r\n height?: number | string\r\n playsinline?: boolean\r\n poster?: string\r\n width?: number | string\r\n}\r\n\r\nexport interface AllHTMLAttributes extends HTMLAttributes {\r\n accept?: string\r\n acceptcharset?: string\r\n action?: boolean\r\n allowfullscreen?: boolean\r\n allowtransparency?: boolean\r\n alt?: string\r\n async?: boolean\r\n autocomplete?: string\r\n autofocus?: boolean\r\n autoplay?: boolean\r\n capture?: boolean // https://www.w3.org/tr/html-media-capture/#the-capture-attribute\r\n cellpadding?: number | string\r\n cellspacing?: number | string\r\n challenge?: string\r\n charset?: string\r\n checked?: boolean\r\n cite?: string\r\n classid?: string\r\n cols?: number\r\n colspan?: number\r\n content?: string\r\n controls?: boolean\r\n coord?: string\r\n crossorigin?: string\r\n data?: string\r\n datetime?: string\r\n default?: boolean\r\n defer?: boolean\r\n dirname?: string\r\n disabled?: boolean\r\n download?: any\r\n enctype?: string\r\n form?: string\r\n formaction?: string\r\n formenctype?: string\r\n formmethod?: string\r\n formnovalidate?: boolean\r\n formtarget?: string\r\n frameborder?: number | string\r\n headers?: string\r\n height?: number | string\r\n high?: number\r\n href?: string\r\n hreflang?: string\r\n htmlfor?: string\r\n httpequiv?: string\r\n integrity?: string\r\n keyparams?: string\r\n keytype?: string\r\n kind?: string\r\n label?: string\r\n list?: string\r\n loop?: boolean\r\n low?: number\r\n manifest?: string\r\n marginheight?: number\r\n marginwidth?: number\r\n max?: number | string\r\n maxlength?: number\r\n media?: string\r\n mediagroup?: string\r\n method?: string\r\n min?: number | string\r\n minlength?: number\r\n multiple?: boolean\r\n muted?: boolean\r\n name?: string\r\n nonce?: string\r\n novalidate?: boolean\r\n open?: boolean\r\n optimum?: number\r\n pattern?: string\r\n placeholder?: string\r\n playsinline?: boolean\r\n poster?: string\r\n preload?: string\r\n readonly?: boolean\r\n rel?: string\r\n required?: boolean\r\n reversed?: boolean\r\n rows?: number\r\n rowspan?: number\r\n sandbox?: string\r\n scope?: string\r\n scoped?: boolean\r\n scrolling?: string\r\n seamless?: boolean\r\n selected?: boolean\r\n shape?: string\r\n size?: number\r\n sizes?: string\r\n span?: number\r\n src?: string\r\n srcdoc?: string\r\n srclang?: string\r\n srcset?: string\r\n start?: number\r\n step?: number | string\r\n summary?: string\r\n target?: string\r\n type?: string\r\n usemap?: string\r\n value?: string | string[] | number\r\n width?: number | string\r\n wmode?: string\r\n wrap?: string\r\n}\r\n\r\nexport interface IntrinsicElementAttributes {\r\n a: AnchorHTMLAttributes\r\n abbr: HTMLAttributes\r\n address: HTMLAttributes\r\n area: AreaHTMLAttributes\r\n article: HTMLAttributes\r\n aside: HTMLAttributes\r\n audio: AudioHTMLAttributes\r\n b: HTMLAttributes\r\n base: BaseHTMLAttributes\r\n bdi: HTMLAttributes\r\n bdo: HTMLAttributes\r\n big: HTMLAttributes\r\n blockquote: BlockquoteHTMLAttributes\r\n body: HTMLAttributes\r\n br: HTMLAttributes\r\n button: ButtonHTMLAttributes\r\n canvas: CanvasHTMLAttributes\r\n caption: HTMLAttributes\r\n cite: HTMLAttributes\r\n code: HTMLAttributes\r\n col: ColHTMLAttributes\r\n colgroup: ColgroupHTMLAttributes\r\n data: HTMLAttributes\r\n datalist: HTMLAttributes\r\n dd: HTMLAttributes\r\n del: DelHTMLAttributes\r\n details: DetailsHTMLAttributes\r\n dfn: HTMLAttributes\r\n dialog: HTMLAttributes\r\n div: HTMLAttributes\r\n dl: HTMLAttributes\r\n dt: HTMLAttributes\r\n em: HTMLAttributes\r\n embed: EmbedHTMLAttributes\r\n fieldset: FieldsetHTMLAttributes\r\n figcaption: HTMLAttributes\r\n figure: HTMLAttributes\r\n footer: HTMLAttributes\r\n form: FormHTMLAttributes\r\n h1: HTMLAttributes\r\n h2: HTMLAttributes\r\n h3: HTMLAttributes\r\n h4: HTMLAttributes\r\n h5: HTMLAttributes\r\n h6: HTMLAttributes\r\n head: HTMLAttributes\r\n header: HTMLAttributes\r\n hgroup: HTMLAttributes\r\n hr: HTMLAttributes\r\n html: HtmlHTMLAttributes\r\n i: HTMLAttributes\r\n iframe: IframeHTMLAttributes\r\n img: ImgHTMLAttributes\r\n input: InputHTMLAttributes\r\n ins: InsHTMLAttributes\r\n kbd: HTMLAttributes\r\n keygen: KeygenHTMLAttributes\r\n label: LabelHTMLAttributes\r\n legend: HTMLAttributes\r\n li: LiHTMLAttributes\r\n link: LinkHTMLAttributes\r\n main: HTMLAttributes\r\n map: MapHTMLAttributes\r\n mark: HTMLAttributes\r\n menu: MenuHTMLAttributes\r\n menuitem: HTMLAttributes\r\n meta: MetaHTMLAttributes\r\n meter: MeterHTMLAttributes\r\n nav: HTMLAttributes\r\n noscript: HTMLAttributes\r\n object: ObjectHTMLAttributes\r\n ol: OlHTMLAttributes\r\n optgroup: OptgroupHTMLAttributes\r\n option: OptionHTMLAttributes\r\n output: OutputHTMLAttributes\r\n p: HTMLAttributes\r\n param: ParamHTMLAttributes\r\n picture: HTMLAttributes\r\n pre: HTMLAttributes\r\n progress: ProgressHTMLAttributes\r\n q: QuoteHTMLAttributes\r\n rp: HTMLAttributes\r\n rt: HTMLAttributes\r\n ruby: HTMLAttributes\r\n s: HTMLAttributes\r\n samp: HTMLAttributes\r\n script: ScriptHTMLAttributes\r\n section: HTMLAttributes\r\n select: SelectHTMLAttributes\r\n small: HTMLAttributes\r\n source: SourceHTMLAttributes\r\n span: HTMLAttributes\r\n strong: HTMLAttributes\r\n style: StyleHTMLAttributes\r\n sub: HTMLAttributes\r\n summary: HTMLAttributes\r\n sup: HTMLAttributes\r\n table: TableHTMLAttributes\r\n tbody: HTMLAttributes\r\n td: TdHTMLAttributes\r\n textarea: TextareaHTMLAttributes\r\n tfoot: HTMLAttributes\r\n th: ThHTMLAttributes\r\n thead: HTMLAttributes\r\n time: TimeHTMLAttributes\r\n title: HTMLAttributes\r\n tr: HTMLAttributes\r\n track: TrackHTMLAttributes\r\n u: HTMLAttributes\r\n ul: HTMLAttributes\r\n var: HTMLAttributes\r\n video: VideoHTMLAttributes\r\n wbr: HTMLAttributes\r\n}\r\n"]}
package/dist/lib.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"./","sources":["lib.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAIlC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,EAAqB,EAAE,EAAY,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAE1F,MAAM,OAAgB,OAAO;IAON;IAJnB,OAAO,CAAc;IAIrB,YAAmB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAI,CAAC;IAGhC,OAAO,KAAK,CAAC;IACb,MAAM,CAAC,EAAmB,IAAoB,CAAC;IAI/C,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;CAC5C;AAED,MAAM,UAAU,EAAE,CAAC,GAAG,cAAgC;IAClD,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjG,CAAC"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"./","sources":["lib.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAIlC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,EAAqB,EAAE,EAAY,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAE1F,MAAM,OAAgB,OAAO;IAON;IAJnB,OAAO,CAAc;IAIrB,YAAmB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAI,CAAC;IAGhC,OAAO,KAAK,CAAC;IACb,MAAM,CAAC,EAAmB,IAAoB,CAAC;IAI/C,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;CAC5C;AAED,MAAM,UAAU,EAAE,CAAC,GAAG,cAAgC;IAClD,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjG,CAAC","sourcesContent":["import { Props, IClassComponent, H, FComponentT, Children } from 'h'\r\nimport { updateview } from './jmx'\r\n\r\nexport type DeepReadonly<T> = { readonly [K in keyof T]: T[K] extends Record<string, unknown> ? DeepReadonly<T[K]> : T[K]; }\r\n\r\nexport const When = ({ cond }: { cond: boolean }, cn: Children) => cond ? { cn } : void 0;\r\n\r\nexport abstract class JMXComp<P extends Props = {}> implements IClassComponent {\r\n\r\n // assigned by jmx framework\r\n element!: HTMLElement\r\n\r\n // we provide this ctor for jsx which uses ctor arguments as properties of class components.\r\n // at runtime, we pass the props directly\r\n constructor(public props: P) { }\r\n\r\n // overrides\r\n mounted() { }\r\n update(uc?: IUpdateContext): boolean | void { }\r\n abstract view(): H\r\n\r\n // utility: updates the component's view\r\n updateview() { updateview(this.element) }\r\n}\r\n\r\nexport function cc(...namesOrObjects: (string | any)[]): string {\r\n return namesOrObjects.flatMap(n => (n.trim ? n : Object.keys(n).filter(k => n[k]))).join(' ') // n.trim distinguishes strings from objects\r\n}"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "jmx-runtime",
3
3
  "author": "snupo",
4
- "version": "0.0.12",
4
+ "version": "0.0.14",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },