@zcomponent/html 1.0.0-beta → 1.0.0-beta.1
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 +1 -0
- package/index.js +3 -1
- package/lib/CSS.js +5 -1
- package/lib/HTMLElement.d.ts +6 -1
- package/lib/HTMLElement.js +13 -2
- package/lib/context.d.ts +1 -0
- package/lib/context.js +1 -0
- package/lib/i.d.ts +10 -0
- package/lib/i.js +11 -0
- package/lib/span.d.ts +10 -0
- package/lib/span.js +11 -0
- package/package.json +61 -14
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# @zcomponent/html
|
package/index.js
CHANGED
package/lib/CSS.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component, isDesignTime, registerLoadable } from '@zcomponent/core';
|
|
2
|
+
import { HTMLContext } from './context';
|
|
2
3
|
const alreadyAdded = new Map();
|
|
3
4
|
/**
|
|
4
5
|
* The CSS component will ensure that the CSS file referenced by its `source` constructor prop is added to your page and loaded by the browser.
|
|
@@ -20,7 +21,10 @@ export class CSS extends Component {
|
|
|
20
21
|
else {
|
|
21
22
|
this._elm = [1, document.createElement('link')];
|
|
22
23
|
registerLoadable(contextManager, new Promise((resolve, reject) => {
|
|
23
|
-
this._elm[1].addEventListener('load',
|
|
24
|
+
this._elm[1].addEventListener('load', () => {
|
|
25
|
+
contextManager.get(HTMLContext).onCSSChanged.emit();
|
|
26
|
+
resolve();
|
|
27
|
+
});
|
|
24
28
|
this._elm[1].addEventListener('error', reject);
|
|
25
29
|
}));
|
|
26
30
|
this._elm[1].setAttribute('rel', 'stylesheet');
|
package/lib/HTMLElement.d.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { Component, ConstructorProps, ContextManager, Event, Observable } from '@zcomponent/core';
|
|
2
2
|
export interface HTMLElementProps extends ConstructorProps {
|
|
3
|
-
/** @zprop */
|
|
4
3
|
innerText?: string;
|
|
5
4
|
}
|
|
6
5
|
export declare class ZHTMLElement<T extends HTMLElement> extends Component {
|
|
7
6
|
element: T;
|
|
8
7
|
/** @zprop */
|
|
9
8
|
onClick: Event<[MouseEvent]>;
|
|
9
|
+
/**
|
|
10
|
+
* @zprop
|
|
11
|
+
* @ztype text-multiline
|
|
12
|
+
* @zgrouppriority 21
|
|
13
|
+
*/
|
|
14
|
+
innerText: Observable<string, never>;
|
|
10
15
|
constructor(contextManager: ContextManager, props: HTMLElementProps, element: T);
|
|
11
16
|
appendChild(c: Component): void;
|
|
12
17
|
private _connectChild;
|
package/lib/HTMLElement.js
CHANGED
|
@@ -6,6 +6,12 @@ export class ZHTMLElement extends Component {
|
|
|
6
6
|
this.element = element;
|
|
7
7
|
/** @zprop */
|
|
8
8
|
this.onClick = new Event();
|
|
9
|
+
/**
|
|
10
|
+
* @zprop
|
|
11
|
+
* @ztype text-multiline
|
|
12
|
+
* @zgrouppriority 21
|
|
13
|
+
*/
|
|
14
|
+
this.innerText = new Observable('');
|
|
9
15
|
/** @zprop */
|
|
10
16
|
this.id = new Observable('', v => (this.element.id = v));
|
|
11
17
|
/** @zprop */
|
|
@@ -91,8 +97,12 @@ export class ZHTMLElement extends Component {
|
|
|
91
97
|
* @zdefault row
|
|
92
98
|
*/
|
|
93
99
|
this.flexDirection = new Observable(CSSFlexDirection.row, v => (this.element.style.flexDirection = v));
|
|
94
|
-
if (props.innerText
|
|
100
|
+
if (props.innerText === undefined) {
|
|
101
|
+
this.innerText.addListener(v => (element.innerText = v));
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
95
104
|
element.innerText = props.innerText;
|
|
105
|
+
}
|
|
96
106
|
for (const child of this.children) {
|
|
97
107
|
this._connectChild(child);
|
|
98
108
|
}
|
|
@@ -118,7 +128,8 @@ export class ZHTMLElement extends Component {
|
|
|
118
128
|
}
|
|
119
129
|
_attachEvent(evt, evtName) {
|
|
120
130
|
const handler = (e) => {
|
|
121
|
-
|
|
131
|
+
if (this.enabledResolved.value)
|
|
132
|
+
evt.emit(e);
|
|
122
133
|
};
|
|
123
134
|
evt.hasListeners.addListener(b => {
|
|
124
135
|
if (b)
|
package/lib/context.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Event, ContextManager, Context } from '@zcomponent/core';
|
|
|
2
2
|
export declare class HTMLContext extends Context {
|
|
3
3
|
onNodeConstructed: Event<[Node]>;
|
|
4
4
|
onNodeDisposed: Event<[Node]>;
|
|
5
|
+
onCSSChanged: Event<[]>;
|
|
5
6
|
}
|
|
6
7
|
export declare function useOnNodeConstructed(mgr: ContextManager): Event<[Node]>;
|
|
7
8
|
export declare function useOnNodeDisposed(mgr: ContextManager): Event<[Node]>;
|
package/lib/context.js
CHANGED
package/lib/i.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ContextManager } from '@zcomponent/core';
|
|
2
|
+
import { HTMLElementProps, ZHTMLElement } from './HTMLElement';
|
|
3
|
+
/** @zcomponent
|
|
4
|
+
* @ztag html/element/i
|
|
5
|
+
* @zparents html/element/**
|
|
6
|
+
* @zicon html
|
|
7
|
+
*/
|
|
8
|
+
export declare class I extends ZHTMLElement<HTMLElement> {
|
|
9
|
+
constructor(mgr: ContextManager, props: HTMLElementProps);
|
|
10
|
+
}
|
package/lib/i.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ZHTMLElement } from './HTMLElement';
|
|
2
|
+
/** @zcomponent
|
|
3
|
+
* @ztag html/element/i
|
|
4
|
+
* @zparents html/element/**
|
|
5
|
+
* @zicon html
|
|
6
|
+
*/
|
|
7
|
+
export class I extends ZHTMLElement {
|
|
8
|
+
constructor(mgr, props) {
|
|
9
|
+
super(mgr, props, document.createElement('i'));
|
|
10
|
+
}
|
|
11
|
+
}
|
package/lib/span.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ContextManager } from '@zcomponent/core';
|
|
2
|
+
import { HTMLElementProps, ZHTMLElement } from './HTMLElement';
|
|
3
|
+
/** @zcomponent
|
|
4
|
+
* @ztag html/element/span
|
|
5
|
+
* @zparents html/element/**
|
|
6
|
+
* @zicon html
|
|
7
|
+
*/
|
|
8
|
+
export declare class Span extends ZHTMLElement<HTMLSpanElement> {
|
|
9
|
+
constructor(mgr: ContextManager, props: HTMLElementProps);
|
|
10
|
+
}
|
package/lib/span.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ZHTMLElement } from './HTMLElement';
|
|
2
|
+
/** @zcomponent
|
|
3
|
+
* @ztag html/element/span
|
|
4
|
+
* @zparents html/element/**
|
|
5
|
+
* @zicon html
|
|
6
|
+
*/
|
|
7
|
+
export class Span extends ZHTMLElement {
|
|
8
|
+
constructor(mgr, props) {
|
|
9
|
+
super(mgr, props, document.createElement('span'));
|
|
10
|
+
}
|
|
11
|
+
}
|
package/package.json
CHANGED
|
@@ -1,29 +1,76 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zcomponent/html",
|
|
3
|
-
"version": "1.0.0-beta",
|
|
4
|
-
"description": "",
|
|
3
|
+
"version": "1.0.0-beta.1",
|
|
4
|
+
"description": "Mattercraft support for HTML",
|
|
5
|
+
"author": "Zappar Limited",
|
|
6
|
+
"license": "Proprietary",
|
|
5
7
|
"main": "index.js",
|
|
6
8
|
"types": "index.d.ts",
|
|
9
|
+
"zexports": [
|
|
10
|
+
"./lib/**/*"
|
|
11
|
+
],
|
|
7
12
|
"directories": {
|
|
8
13
|
"lib": "lib"
|
|
9
14
|
},
|
|
10
|
-
"scripts": {
|
|
11
|
-
"build": "tsc"
|
|
12
|
-
},
|
|
13
15
|
"files": [
|
|
14
16
|
"index.js",
|
|
15
17
|
"index.d.ts",
|
|
16
|
-
"lib/**/*"
|
|
18
|
+
"lib/**/*",
|
|
19
|
+
"public/**/*"
|
|
17
20
|
],
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "rm -rf lib && tsc && tsc-alias",
|
|
23
|
+
"watch": "tsc -w",
|
|
24
|
+
"prepack": "npm run build",
|
|
25
|
+
"docs": "typedoc --out docs"
|
|
22
26
|
},
|
|
27
|
+
"dependencies": {},
|
|
23
28
|
"devDependencies": {
|
|
24
|
-
"
|
|
29
|
+
"@zcomponent/core": "1.x"
|
|
25
30
|
},
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
31
|
+
"peerDependencies": {
|
|
32
|
+
"@zcomponent/core": "1.x"
|
|
33
|
+
},
|
|
34
|
+
"keywords": [],
|
|
35
|
+
"release": {
|
|
36
|
+
"extends": "semantic-release-commit-filter",
|
|
37
|
+
"ci": true,
|
|
38
|
+
"branches": [
|
|
39
|
+
"main",
|
|
40
|
+
{
|
|
41
|
+
"name": "beta",
|
|
42
|
+
"channel": "beta",
|
|
43
|
+
"prerelease": "beta"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "alpha",
|
|
47
|
+
"channel": "alpha",
|
|
48
|
+
"prerelease": "alpha"
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"plugins": [
|
|
52
|
+
"@semantic-release/commit-analyzer",
|
|
53
|
+
"@semantic-release/release-notes-generator",
|
|
54
|
+
"@semantic-release/changelog",
|
|
55
|
+
"@semantic-release/npm",
|
|
56
|
+
"@semantic-release/gitlab",
|
|
57
|
+
"@semantic-release/git",
|
|
58
|
+
[
|
|
59
|
+
"@rimac-technology/semantic-release-s3",
|
|
60
|
+
{
|
|
61
|
+
"s3Bucket": {
|
|
62
|
+
"main": "mattercraft-api-docs/prod",
|
|
63
|
+
"beta": "mattercraft-api-docs/beta",
|
|
64
|
+
"alpha": "mattercraft-api-docs/alpha"
|
|
65
|
+
},
|
|
66
|
+
"directoryPath": "../../docs/**/*",
|
|
67
|
+
"objectACL": "",
|
|
68
|
+
"removeDirectoryRoot": true,
|
|
69
|
+
"awsAccessKeyName": "DOCS_AWS_ACCESS_KEY_ID",
|
|
70
|
+
"awsSecretAccessKeyName": "DOCS_AWS_SECRET_ACCESS_KEY"
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
],
|
|
74
|
+
"tagFormat": "@zcomponent/html@${version}"
|
|
75
|
+
}
|
|
29
76
|
}
|