@htmlplus/element 0.7.6 → 0.7.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.
@@ -13,13 +13,15 @@ export function Element() {
13
13
  constructor() {
14
14
  super();
15
15
  this.attachShadow({ mode: 'open' });
16
- this[CONSTANTS.API_INSTANCE] = new constructor();
17
- Object.keys(members)
18
- .filter((key) => members[key].type != CONSTANTS.TYPE_FUNCTION)
19
- .forEach((key) => {
20
- members[key].default = this[CONSTANTS.API_INSTANCE][key];
16
+ const instance = (this[CONSTANTS.API_INSTANCE] = new constructor());
17
+ Object.keys(members).forEach((key) => {
18
+ if (members[key].type != CONSTANTS.TYPE_FUNCTION) {
19
+ members[key].default = instance[key];
20
+ }
21
21
  });
22
- this[CONSTANTS.API_INSTANCE][CONSTANTS.API_HOST] = () => this;
22
+ instance[CONSTANTS.API_HOST] = () => this;
23
+ // TODO
24
+ call(instance, CONSTANTS.LIFECYCLE_CONSTRUCTED);
23
25
  }
24
26
  static get observedAttributes() {
25
27
  return Object.keys(members)
@@ -22,7 +22,8 @@ export function Property(options) {
22
22
  });
23
23
  }
24
24
  defineProperty(target, propertyKey, { get, set });
25
- appendToMethod(target, CONSTANTS.LIFECYCLE_CONNECTED, function () {
25
+ // TODO: check the lifecycle
26
+ appendToMethod(target, CONSTANTS.LIFECYCLE_CONSTRUCTED, function () {
26
27
  const element = host(this);
27
28
  // TODO: experimental for isolated options
28
29
  if (element === this)
@@ -195,7 +195,7 @@ export const document = (options) => {
195
195
  };
196
196
  });
197
197
  })();
198
- const tags = getTags(context.class);
198
+ const tags = getTags(context.class).filter((tag) => !['part', 'slot'].includes(tag.key));
199
199
  const title = capitalCase(context.componentKey);
200
200
  const component = {
201
201
  events,
@@ -32,7 +32,7 @@ export const getTags = (node, filter) => {
32
32
  export const hasTag = (node, name) => {
33
33
  return getTags(node).some((tag) => tag.key === name);
34
34
  };
35
- export const parseTag = (tag, spliter = '-') => {
35
+ export const parseTag = (tag, spliter = ' - ') => {
36
36
  var _a, _b;
37
37
  const sections = ((_a = tag.value) === null || _a === void 0 ? void 0 : _a.split(spliter)) || [];
38
38
  const name = (_b = sections[0]) === null || _b === void 0 ? void 0 : _b.trim();
@@ -16,6 +16,7 @@ export declare const DECORATOR_METHOD = "Method";
16
16
  export declare const LIFECYCLE_ADOPTED = "adoptedCallback";
17
17
  export declare const LIFECYCLE_CONNECT = "connectCallback";
18
18
  export declare const LIFECYCLE_CONNECTED = "connectedCallback";
19
+ export declare const LIFECYCLE_CONSTRUCTED = "constructedCallback";
19
20
  export declare const LIFECYCLE_DISCONNECTED = "disconnectedCallback";
20
21
  export declare const LIFECYCLE_LOADED = "loadedCallback";
21
22
  export declare const LIFECYCLE_UPDATE = "updateCallback";
@@ -27,16 +28,17 @@ export declare const STATIC_MEMBERS_TYPE = "type";
27
28
  export declare const STATIC_STYLES = "STYLES";
28
29
  export declare const STATIC_TAG = "TAG";
29
30
  export declare const STYLE_IMPORTED = "STYLE_IMPORTED";
30
- export declare const TYPE_ARRAY = 1;
31
- export declare const TYPE_BOOLEAN = 2;
32
- export declare const TYPE_DATE = 4;
33
- export declare const TYPE_ENUM = 8;
34
- export declare const TYPE_FUNCTION = 16;
35
- export declare const TYPE_NULL = 32;
36
- export declare const TYPE_NUMBER = 64;
37
- export declare const TYPE_OBJECT = 128;
38
- export declare const TYPE_STRING = 256;
39
- export declare const TYPE_UNDEFINED = 512;
31
+ export declare const TYPE_ARRAY: number;
32
+ export declare const TYPE_BOOLEAN: number;
33
+ export declare const TYPE_DATE: number;
34
+ export declare const TYPE_ENUM: number;
35
+ export declare const TYPE_FUNCTION: number;
36
+ export declare const TYPE_NULL: number;
37
+ export declare const TYPE_NUMBER: number;
38
+ export declare const TYPE_OBJECT: number;
39
+ export declare const TYPE_STRING: number;
40
+ export declare const TYPE_UNDEFINED: number;
41
+ export declare const TYPE_UNIT: number;
40
42
  export declare const UTILS_ATTRIBUTES_IMPORTED = "attributes";
41
43
  export declare const UTILS_ATTRIBUTES_LOCAL = "UTILS_ATTRIBUTES";
42
44
  export declare const UTILS_HOST_IMPORTED = "host";
@@ -20,6 +20,7 @@ export const DECORATOR_METHOD = 'Method';
20
20
  export const LIFECYCLE_ADOPTED = 'adoptedCallback';
21
21
  export const LIFECYCLE_CONNECT = 'connectCallback';
22
22
  export const LIFECYCLE_CONNECTED = 'connectedCallback';
23
+ export const LIFECYCLE_CONSTRUCTED = 'constructedCallback';
23
24
  export const LIFECYCLE_DISCONNECTED = 'disconnectedCallback';
24
25
  export const LIFECYCLE_LOADED = 'loadedCallback';
25
26
  export const LIFECYCLE_UPDATE = 'updateCallback';
@@ -35,16 +36,17 @@ export const STATIC_TAG = 'TAG';
35
36
  // style
36
37
  export const STYLE_IMPORTED = 'STYLE_IMPORTED';
37
38
  // types
38
- export const TYPE_ARRAY = 1;
39
- export const TYPE_BOOLEAN = 2;
40
- export const TYPE_DATE = 4;
41
- export const TYPE_ENUM = 8;
42
- export const TYPE_FUNCTION = 16;
43
- export const TYPE_NULL = 32;
44
- export const TYPE_NUMBER = 64;
45
- export const TYPE_OBJECT = 128;
46
- export const TYPE_STRING = 256;
47
- export const TYPE_UNDEFINED = 512;
39
+ export const TYPE_ARRAY = 2 ** 0;
40
+ export const TYPE_BOOLEAN = 2 ** 1;
41
+ export const TYPE_DATE = 2 ** 2;
42
+ export const TYPE_ENUM = 2 ** 3;
43
+ export const TYPE_FUNCTION = 2 ** 4;
44
+ export const TYPE_NULL = 2 ** 5;
45
+ export const TYPE_NUMBER = 2 ** 6;
46
+ export const TYPE_OBJECT = 2 ** 7;
47
+ export const TYPE_STRING = 2 ** 8;
48
+ export const TYPE_UNDEFINED = 2 ** 9;
49
+ export const TYPE_UNIT = 2 ** 10; // TODO
48
50
  // utils
49
51
  export const UTILS_ATTRIBUTES_IMPORTED = 'attributes';
50
52
  export const UTILS_ATTRIBUTES_LOCAL = 'UTILS_ATTRIBUTES';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@htmlplus/element",
3
- "version": "0.7.6",
3
+ "version": "0.7.8",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "author": "Masood Abdolian <m.abdolian@gmail.com>",