@htmlplus/element 2.0.0 → 2.1.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.
@@ -1,5 +1,5 @@
1
1
  import { kebabCase, pascalCase } from 'change-case';
2
- import { defineProperty, getFramework, host } from '../utils/index.js';
2
+ import { defineProperty, getConfig, getFramework, host } from '../utils/index.js';
3
3
  /**
4
4
  * Provides the capability to dispatch a [CustomEvent](https://mdn.io/custom-event)
5
5
  * from an element.
@@ -11,24 +11,26 @@ export function Event(options = {}) {
11
11
  defineProperty(target, propertyKey, {
12
12
  get() {
13
13
  return (detail) => {
14
- var _a;
14
+ var _a, _b;
15
15
  const element = host(this);
16
16
  const framework = getFramework(element);
17
17
  (_a = options.bubbles) !== null && _a !== void 0 ? _a : (options.bubbles = false);
18
- let name = String(propertyKey);
18
+ let type = String(propertyKey);
19
19
  switch (framework) {
20
20
  case 'qwik':
21
21
  case 'solid':
22
- name = pascalCase(name).toLowerCase();
22
+ type = pascalCase(type).toLowerCase();
23
23
  break;
24
24
  case 'preact':
25
- name = pascalCase(name);
25
+ type = pascalCase(type);
26
26
  break;
27
27
  default:
28
- name = kebabCase(name);
28
+ type = kebabCase(type);
29
29
  break;
30
30
  }
31
- const event = new CustomEvent(name, Object.assign(Object.assign({}, options), { detail }));
31
+ let event;
32
+ event || (event = (_b = getConfig('event', 'resolver')) === null || _b === void 0 ? void 0 : _b({ detail, element, framework, options, type }));
33
+ event || (event = new CustomEvent(type, Object.assign(Object.assign({}, options), { detail })));
32
34
  element.dispatchEvent(event);
33
35
  return event;
34
36
  };
@@ -2,6 +2,9 @@
2
2
  * TODO
3
3
  */
4
4
  export interface Config {
5
+ event?: {
6
+ resolver?: (parameters: any) => CustomEvent | undefined;
7
+ };
5
8
  asset?: {
6
9
  [key: string]: any;
7
10
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@htmlplus/element",
3
- "version": "2.0.0",
3
+ "version": "2.1.1",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "author": "Masood Abdolian <m.abdolian@gmail.com>",
@@ -32,32 +32,32 @@
32
32
  },
33
33
  "homepage": "https://github.com/htmlplus/element#readme",
34
34
  "dependencies": {
35
- "@babel/generator": "^7.20.4",
36
- "@babel/parser": "^7.20.3",
37
- "@babel/template": "^7.22.15",
38
- "@babel/traverse": "^7.20.1",
39
- "@babel/types": "^7.20.2",
40
- "@types/node": "^18.11.9",
41
- "change-case": "^5.1.2",
42
- "fast-glob": "^3.2.12",
43
- "fs-extra": "^10.1.0",
44
- "handlebars": "^4.7.7",
45
- "ora": "^6.1.2",
46
- "typescript": "^4.9.3"
35
+ "@babel/generator": "^7.23.6",
36
+ "@babel/parser": "^7.23.9",
37
+ "@babel/template": "^7.23.9",
38
+ "@babel/traverse": "^7.23.9",
39
+ "@babel/types": "^7.23.9",
40
+ "@types/node": "^20.11.19",
41
+ "change-case": "^5.4.3",
42
+ "fs-extra": "^11.2.0",
43
+ "glob": "^10.3.10",
44
+ "handlebars": "^4.7.8",
45
+ "ora": "^8.0.1",
46
+ "typescript": "^4.9.5"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@semantic-release/changelog": "^6.0.3",
50
50
  "@semantic-release/commit-analyzer": "^11.1.0",
51
51
  "@semantic-release/git": "^10.0.1",
52
- "@semantic-release/github": "^9.2.4",
53
- "@semantic-release/npm": "^11.0.1",
52
+ "@semantic-release/github": "^9.2.6",
53
+ "@semantic-release/npm": "^11.0.2",
54
54
  "@semantic-release/release-notes-generator": "^12.1.0",
55
- "@trivago/prettier-plugin-sort-imports": "^4.0.0",
56
- "cpy": "^9.0.1",
57
- "prettier": "^2.8.0",
58
- "rimraf": "^3.0.2",
59
- "semantic-release": "^22.0.8",
60
- "tsx": "^4.6.2",
61
- "vite": "^3.2.4"
55
+ "@trivago/prettier-plugin-sort-imports": "^4.3.0",
56
+ "cpy": "^11.0.0",
57
+ "prettier": "^3.2.5",
58
+ "rimraf": "^5.0.5",
59
+ "semantic-release": "^23.0.2",
60
+ "tsx": "^4.7.1",
61
+ "vite": "^5.1.3"
62
62
  }
63
63
  }
@@ -1,6 +1,6 @@
1
1
  import { capitalCase, kebabCase } from 'change-case';
2
2
  import fs from 'fs-extra';
3
- import glob from 'glob';
3
+ import { glob } from 'glob';
4
4
  import path from 'path';
5
5
  import * as CONSTANTS from '../../constants/index.js';
6
6
  import { getInitializer, getTag, getTags, getTypeReference, hasTag, parseTag, print } from '../utils/index.js';
@@ -1,5 +1,5 @@
1
1
  import { parse } from '@babel/parser';
2
- import glob from 'fast-glob';
2
+ import { glob } from 'glob';
3
3
  import fs from 'fs-extra';
4
4
  import { dirname, resolve } from 'path';
5
5
  import { join } from 'path';
@@ -1,4 +1,4 @@
1
- import glob from 'fast-glob';
1
+ import { glob } from 'glob';
2
2
  import fs from 'fs-extra';
3
3
  import handlebars from 'handlebars';
4
4
  import path from 'path';