@xyo-network/react-event 2.37.27 → 2.37.29
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/cjs/hooks/index.d.ts +1 -0
- package/dist/cjs/hooks/index.d.ts.map +1 -1
- package/dist/cjs/hooks/index.js +1 -0
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useCustomEvent.d.ts +1 -1
- package/dist/cjs/hooks/useCustomEvent.d.ts.map +1 -1
- package/dist/cjs/hooks/useCustomEvent.js +2 -2
- package/dist/cjs/hooks/useCustomEvent.js.map +1 -1
- package/dist/cjs/hooks/useXyoEvent.d.ts +1 -1
- package/dist/cjs/hooks/useXyoEvent.d.ts.map +1 -1
- package/dist/cjs/hooks/useXyoEvent.js +2 -2
- package/dist/cjs/hooks/useXyoEvent.js.map +1 -1
- package/dist/docs.json +304 -62
- package/dist/esm/hooks/index.d.ts +1 -0
- package/dist/esm/hooks/index.d.ts.map +1 -1
- package/dist/esm/hooks/index.js +1 -0
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useCustomEvent.d.ts +1 -1
- package/dist/esm/hooks/useCustomEvent.d.ts.map +1 -1
- package/dist/esm/hooks/useCustomEvent.js +2 -2
- package/dist/esm/hooks/useCustomEvent.js.map +1 -1
- package/dist/esm/hooks/useXyoEvent.d.ts +1 -1
- package/dist/esm/hooks/useXyoEvent.d.ts.map +1 -1
- package/dist/esm/hooks/useXyoEvent.js +2 -2
- package/dist/esm/hooks/useXyoEvent.js.map +1 -1
- package/package.json +1 -1
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useCustomEvent.ts +2 -1
- package/src/hooks/useXyoEvent.ts +2 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA"}
|
package/dist/cjs/hooks/index.js
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
const tslib_1 = require("tslib");
|
4
|
+
tslib_1.__exportStar(require("./useCustomEvent"), exports);
|
4
5
|
tslib_1.__exportStar(require("./useXyoEvent"), exports);
|
5
6
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":";;;AAAA,wDAA6B"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":";;;AAAA,2DAAgC;AAChC,wDAA6B"}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import { RefObject } from 'react';
|
2
2
|
export declare type CustomEventDispatch<T = unknown> = (detail: T) => boolean | void;
|
3
|
-
export declare const useCustomEvent: <TElement extends HTMLElement, TDetail = unknown>(type: string, listener?: CustomEventDispatch<TDetail> | undefined) => [RefObject<TElement>, CustomEventDispatch<TDetail>];
|
3
|
+
export declare const useCustomEvent: <TElement extends HTMLElement, TDetail = unknown>(type: string, listener?: CustomEventDispatch<TDetail> | undefined, customRef?: RefObject<TElement> | undefined) => [RefObject<TElement>, CustomEventDispatch<TDetail>];
|
4
4
|
//# sourceMappingURL=useCustomEvent.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useCustomEvent.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCustomEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,SAAS,EAAa,MAAM,OAAO,CAAA;AAEvD,oBAAY,mBAAmB,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAAA;AAE5E,eAAO,MAAM,cAAc,0DACnB,MAAM,
|
1
|
+
{"version":3,"file":"useCustomEvent.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCustomEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,SAAS,EAAa,MAAM,OAAO,CAAA;AAEvD,oBAAY,mBAAmB,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAAA;AAE5E,eAAO,MAAM,cAAc,0DACnB,MAAM,0JAqCb,CAAA"}
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useCustomEvent = void 0;
|
4
4
|
const assert_1 = require("@xylabs/assert");
|
5
5
|
const react_1 = require("react");
|
6
|
-
const useCustomEvent = (type, listener) => {
|
7
|
-
const ref = (0, react_1.createRef)();
|
6
|
+
const useCustomEvent = (type, listener, customRef) => {
|
7
|
+
const ref = customRef !== null && customRef !== void 0 ? customRef : (0, react_1.createRef)();
|
8
8
|
(0, react_1.useEffect)(() => {
|
9
9
|
const element = ref === null || ref === void 0 ? void 0 : ref.current;
|
10
10
|
const currentListener = listener;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useCustomEvent.js","sourceRoot":"","sources":["../../../src/hooks/useCustomEvent.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AACzC,iCAAuD;AAIhD,MAAM,cAAc,GAAG,CAC5B,IAAY,EACZ,QAAuC,
|
1
|
+
{"version":3,"file":"useCustomEvent.js","sourceRoot":"","sources":["../../../src/hooks/useCustomEvent.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AACzC,iCAAuD;AAIhD,MAAM,cAAc,GAAG,CAC5B,IAAY,EACZ,QAAuC,EACvC,SAA+B,EACsB,EAAE;IACvD,MAAM,GAAG,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAA,iBAAS,GAAY,CAAA;IAC9C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAA;QAC5B,MAAM,eAAe,GAAG,QAAQ,CAAA;QAChC,MAAM,OAAO,GAAG,eAAe;YAC7B,CAAC,CAAC,CAAC,KAAuC,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,IAAA,iBAAQ,EAAC,KAAK,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAA;gBAChE,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;gBACpC,IAAI,IAAI,EAAE;oBACR,KAAK,CAAC,eAAe,EAAE,CAAA;iBACxB;YACH,CAAC;YACH,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,OAAO,IAAI,OAAO,EAAE;YACtB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SACzC;QACD,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,IAAI,OAAO,EAAE;gBACtB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;aAC5C;QACH,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IACF,MAAM,QAAQ,GAAiC,CAAC,MAAgB,EAAE,EAAE;;QAClE,MAAM,KAAK,GAAG,IAAI,WAAW,CAAU,IAAI,EAAE;YAC3C,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,MAAM;SACP,CAAC,CAAA;QACF,MAAA,GAAG,CAAC,OAAO,0CAAE,aAAa,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC,CAAA;IACD,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AACxB,CAAC,CAAA;AAtCY,QAAA,cAAc,kBAsC1B"}
|
@@ -7,5 +7,5 @@ export interface XyoEvent<TNoun = XyoEventNoun, TVerb = XyoEventVerb, TData = st
|
|
7
7
|
data?: TData;
|
8
8
|
}
|
9
9
|
export declare type XyoEventDispatch<TNoun = XyoEventNoun, TVerb = XyoEventVerb, TData = string> = (noun: TNoun, verb: TVerb, data?: TData) => boolean | void;
|
10
|
-
export declare const useXyoEvent: <T extends HTMLElement, TNoun = XyoEventNoun, TVerb = "click", TData = string>(listener?: XyoEventDispatch<TNoun, TVerb, TData> | undefined) => [RefObject<T>, XyoEventDispatch<TNoun, TVerb, TData>];
|
10
|
+
export declare const useXyoEvent: <T extends HTMLElement, TNoun = XyoEventNoun, TVerb = "click", TData = string>(listener?: XyoEventDispatch<TNoun, TVerb, TData> | undefined, sharableRef?: RefObject<T> | undefined) => [RefObject<T>, XyoEventDispatch<TNoun, TVerb, TData>];
|
11
11
|
//# sourceMappingURL=useXyoEvent.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useXyoEvent.d.ts","sourceRoot":"","sources":["../../../src/hooks/useXyoEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjC,oBAAY,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAAA;AACjE,oBAAY,YAAY,GAAG,OAAO,CAAA;AAElC,MAAM,WAAW,QAAQ,CAAC,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,MAAM;IAClF,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,CAAC,EAAE,KAAK,CAAA;CACb;AAED,oBAAY,gBAAgB,CAAC,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,KAAK,OAAO,GAAG,IAAI,CAAA;AAErJ,eAAO,MAAM,WAAW,
|
1
|
+
{"version":3,"file":"useXyoEvent.d.ts","sourceRoot":"","sources":["../../../src/hooks/useXyoEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjC,oBAAY,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAAA;AACjE,oBAAY,YAAY,GAAG,OAAO,CAAA;AAElC,MAAM,WAAW,QAAQ,CAAC,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,MAAM;IAClF,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,CAAC,EAAE,KAAK,CAAA;CACb;AAED,oBAAY,gBAAgB,CAAC,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,KAAK,OAAO,GAAG,IAAI,CAAA;AAErJ,eAAO,MAAM,WAAW,+OAkBvB,CAAA"}
|
@@ -2,12 +2,12 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.useXyoEvent = void 0;
|
4
4
|
const useCustomEvent_1 = require("./useCustomEvent");
|
5
|
-
const useXyoEvent = (listener) => {
|
5
|
+
const useXyoEvent = (listener, sharableRef) => {
|
6
6
|
const [ref, customDispatch] = (0, useCustomEvent_1.useCustomEvent)('xyo', listener
|
7
7
|
? (detail) => {
|
8
8
|
return listener(detail.noun, detail.verb, detail.data);
|
9
9
|
}
|
10
|
-
: undefined);
|
10
|
+
: undefined, sharableRef);
|
11
11
|
const dispatch = (noun, verb, data) => {
|
12
12
|
return customDispatch({ data, noun, verb });
|
13
13
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useXyoEvent.js","sourceRoot":"","sources":["../../../src/hooks/useXyoEvent.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAa1C,MAAM,WAAW,GAAG,CACzB,QAAgD,
|
1
|
+
{"version":3,"file":"useXyoEvent.js","sourceRoot":"","sources":["../../../src/hooks/useXyoEvent.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAa1C,MAAM,WAAW,GAAG,CACzB,QAAgD,EAChD,WAA0B,EAC6B,EAAE;IACzD,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,IAAA,+BAAc,EAC1C,KAAK,EACL,QAAQ;QACN,CAAC,CAAC,CAAC,MAAqC,EAAE,EAAE;YACxC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC;QACH,CAAC,CAAC,SAAS,EACb,WAAW,CACZ,CAAA;IAED,MAAM,QAAQ,GAA0C,CAAC,IAAW,EAAE,IAAW,EAAE,IAAY,EAAE,EAAE;QACjG,OAAO,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAA;IACD,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AACxB,CAAC,CAAA;AAlBY,QAAA,WAAW,eAkBvB"}
|
package/dist/docs.json
CHANGED
@@ -7,14 +7,14 @@
|
|
7
7
|
"originalName": "",
|
8
8
|
"children": [
|
9
9
|
{
|
10
|
-
"id":
|
10
|
+
"id": 15,
|
11
11
|
"name": "XyoEvent",
|
12
12
|
"kind": 256,
|
13
13
|
"kindString": "Interface",
|
14
14
|
"flags": {},
|
15
15
|
"children": [
|
16
16
|
{
|
17
|
-
"id":
|
17
|
+
"id": 18,
|
18
18
|
"name": "data",
|
19
19
|
"kind": 1024,
|
20
20
|
"kindString": "Property",
|
@@ -26,17 +26,17 @@
|
|
26
26
|
"fileName": "hooks/useXyoEvent.ts",
|
27
27
|
"line": 11,
|
28
28
|
"character": 2,
|
29
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
29
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/b5ab3949/packages/sdk/packages/event/src/hooks/useXyoEvent.ts#L11"
|
30
30
|
}
|
31
31
|
],
|
32
32
|
"type": {
|
33
33
|
"type": "reference",
|
34
|
-
"id":
|
34
|
+
"id": 21,
|
35
35
|
"name": "TData"
|
36
36
|
}
|
37
37
|
},
|
38
38
|
{
|
39
|
-
"id":
|
39
|
+
"id": 16,
|
40
40
|
"name": "noun",
|
41
41
|
"kind": 1024,
|
42
42
|
"kindString": "Property",
|
@@ -46,17 +46,17 @@
|
|
46
46
|
"fileName": "hooks/useXyoEvent.ts",
|
47
47
|
"line": 9,
|
48
48
|
"character": 2,
|
49
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
49
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/b5ab3949/packages/sdk/packages/event/src/hooks/useXyoEvent.ts#L9"
|
50
50
|
}
|
51
51
|
],
|
52
52
|
"type": {
|
53
53
|
"type": "reference",
|
54
|
-
"id":
|
54
|
+
"id": 19,
|
55
55
|
"name": "TNoun"
|
56
56
|
}
|
57
57
|
},
|
58
58
|
{
|
59
|
-
"id":
|
59
|
+
"id": 17,
|
60
60
|
"name": "verb",
|
61
61
|
"kind": 1024,
|
62
62
|
"kindString": "Property",
|
@@ -66,12 +66,12 @@
|
|
66
66
|
"fileName": "hooks/useXyoEvent.ts",
|
67
67
|
"line": 10,
|
68
68
|
"character": 2,
|
69
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
69
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/b5ab3949/packages/sdk/packages/event/src/hooks/useXyoEvent.ts#L10"
|
70
70
|
}
|
71
71
|
],
|
72
72
|
"type": {
|
73
73
|
"type": "reference",
|
74
|
-
"id":
|
74
|
+
"id": 20,
|
75
75
|
"name": "TVerb"
|
76
76
|
}
|
77
77
|
}
|
@@ -80,9 +80,9 @@
|
|
80
80
|
{
|
81
81
|
"title": "Properties",
|
82
82
|
"children": [
|
83
|
-
|
84
|
-
|
85
|
-
|
83
|
+
18,
|
84
|
+
16,
|
85
|
+
17
|
86
86
|
]
|
87
87
|
}
|
88
88
|
],
|
@@ -91,36 +91,36 @@
|
|
91
91
|
"fileName": "hooks/useXyoEvent.ts",
|
92
92
|
"line": 8,
|
93
93
|
"character": 17,
|
94
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
94
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/b5ab3949/packages/sdk/packages/event/src/hooks/useXyoEvent.ts#L8"
|
95
95
|
}
|
96
96
|
],
|
97
97
|
"typeParameters": [
|
98
98
|
{
|
99
|
-
"id":
|
99
|
+
"id": 19,
|
100
100
|
"name": "TNoun",
|
101
101
|
"kind": 131072,
|
102
102
|
"kindString": "Type parameter",
|
103
103
|
"flags": {},
|
104
104
|
"default": {
|
105
105
|
"type": "reference",
|
106
|
-
"id":
|
106
|
+
"id": 13,
|
107
107
|
"name": "XyoEventNoun"
|
108
108
|
}
|
109
109
|
},
|
110
110
|
{
|
111
|
-
"id":
|
111
|
+
"id": 20,
|
112
112
|
"name": "TVerb",
|
113
113
|
"kind": 131072,
|
114
114
|
"kindString": "Type parameter",
|
115
115
|
"flags": {},
|
116
116
|
"default": {
|
117
117
|
"type": "reference",
|
118
|
-
"id":
|
118
|
+
"id": 14,
|
119
119
|
"name": "XyoEventVerb"
|
120
120
|
}
|
121
121
|
},
|
122
122
|
{
|
123
|
-
"id":
|
123
|
+
"id": 21,
|
124
124
|
"name": "TData",
|
125
125
|
"kind": 131072,
|
126
126
|
"kindString": "Type parameter",
|
@@ -133,7 +133,89 @@
|
|
133
133
|
]
|
134
134
|
},
|
135
135
|
{
|
136
|
-
"id":
|
136
|
+
"id": 1,
|
137
|
+
"name": "CustomEventDispatch",
|
138
|
+
"kind": 4194304,
|
139
|
+
"kindString": "Type alias",
|
140
|
+
"flags": {},
|
141
|
+
"sources": [
|
142
|
+
{
|
143
|
+
"fileName": "hooks/useCustomEvent.ts",
|
144
|
+
"line": 4,
|
145
|
+
"character": 12,
|
146
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/b5ab3949/packages/sdk/packages/event/src/hooks/useCustomEvent.ts#L4"
|
147
|
+
}
|
148
|
+
],
|
149
|
+
"typeParameters": [
|
150
|
+
{
|
151
|
+
"id": 5,
|
152
|
+
"name": "T",
|
153
|
+
"kind": 131072,
|
154
|
+
"kindString": "Type parameter",
|
155
|
+
"flags": {},
|
156
|
+
"default": {
|
157
|
+
"type": "intrinsic",
|
158
|
+
"name": "unknown"
|
159
|
+
}
|
160
|
+
}
|
161
|
+
],
|
162
|
+
"type": {
|
163
|
+
"type": "reflection",
|
164
|
+
"declaration": {
|
165
|
+
"id": 2,
|
166
|
+
"name": "__type",
|
167
|
+
"kind": 65536,
|
168
|
+
"kindString": "Type literal",
|
169
|
+
"flags": {},
|
170
|
+
"sources": [
|
171
|
+
{
|
172
|
+
"fileName": "hooks/useCustomEvent.ts",
|
173
|
+
"line": 4,
|
174
|
+
"character": 47,
|
175
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/b5ab3949/packages/sdk/packages/event/src/hooks/useCustomEvent.ts#L4"
|
176
|
+
}
|
177
|
+
],
|
178
|
+
"signatures": [
|
179
|
+
{
|
180
|
+
"id": 3,
|
181
|
+
"name": "__type",
|
182
|
+
"kind": 4096,
|
183
|
+
"kindString": "Call signature",
|
184
|
+
"flags": {},
|
185
|
+
"parameters": [
|
186
|
+
{
|
187
|
+
"id": 4,
|
188
|
+
"name": "detail",
|
189
|
+
"kind": 32768,
|
190
|
+
"kindString": "Parameter",
|
191
|
+
"flags": {},
|
192
|
+
"type": {
|
193
|
+
"type": "reference",
|
194
|
+
"id": 5,
|
195
|
+
"name": "T"
|
196
|
+
}
|
197
|
+
}
|
198
|
+
],
|
199
|
+
"type": {
|
200
|
+
"type": "union",
|
201
|
+
"types": [
|
202
|
+
{
|
203
|
+
"type": "intrinsic",
|
204
|
+
"name": "boolean"
|
205
|
+
},
|
206
|
+
{
|
207
|
+
"type": "intrinsic",
|
208
|
+
"name": "void"
|
209
|
+
}
|
210
|
+
]
|
211
|
+
}
|
212
|
+
}
|
213
|
+
]
|
214
|
+
}
|
215
|
+
}
|
216
|
+
},
|
217
|
+
{
|
218
|
+
"id": 22,
|
137
219
|
"name": "XyoEventDispatch",
|
138
220
|
"kind": 4194304,
|
139
221
|
"kindString": "Type alias",
|
@@ -143,36 +225,36 @@
|
|
143
225
|
"fileName": "hooks/useXyoEvent.ts",
|
144
226
|
"line": 14,
|
145
227
|
"character": 12,
|
146
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
228
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/b5ab3949/packages/sdk/packages/event/src/hooks/useXyoEvent.ts#L14"
|
147
229
|
}
|
148
230
|
],
|
149
231
|
"typeParameters": [
|
150
232
|
{
|
151
|
-
"id":
|
233
|
+
"id": 28,
|
152
234
|
"name": "TNoun",
|
153
235
|
"kind": 131072,
|
154
236
|
"kindString": "Type parameter",
|
155
237
|
"flags": {},
|
156
238
|
"default": {
|
157
239
|
"type": "reference",
|
158
|
-
"id":
|
240
|
+
"id": 13,
|
159
241
|
"name": "XyoEventNoun"
|
160
242
|
}
|
161
243
|
},
|
162
244
|
{
|
163
|
-
"id":
|
245
|
+
"id": 29,
|
164
246
|
"name": "TVerb",
|
165
247
|
"kind": 131072,
|
166
248
|
"kindString": "Type parameter",
|
167
249
|
"flags": {},
|
168
250
|
"default": {
|
169
251
|
"type": "reference",
|
170
|
-
"id":
|
252
|
+
"id": 14,
|
171
253
|
"name": "XyoEventVerb"
|
172
254
|
}
|
173
255
|
},
|
174
256
|
{
|
175
|
-
"id":
|
257
|
+
"id": 30,
|
176
258
|
"name": "TData",
|
177
259
|
"kind": 131072,
|
178
260
|
"kindString": "Type parameter",
|
@@ -186,7 +268,7 @@
|
|
186
268
|
"type": {
|
187
269
|
"type": "reflection",
|
188
270
|
"declaration": {
|
189
|
-
"id":
|
271
|
+
"id": 23,
|
190
272
|
"name": "__type",
|
191
273
|
"kind": 65536,
|
192
274
|
"kindString": "Type literal",
|
@@ -196,43 +278,43 @@
|
|
196
278
|
"fileName": "hooks/useXyoEvent.ts",
|
197
279
|
"line": 14,
|
198
280
|
"character": 91,
|
199
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
281
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/b5ab3949/packages/sdk/packages/event/src/hooks/useXyoEvent.ts#L14"
|
200
282
|
}
|
201
283
|
],
|
202
284
|
"signatures": [
|
203
285
|
{
|
204
|
-
"id":
|
286
|
+
"id": 24,
|
205
287
|
"name": "__type",
|
206
288
|
"kind": 4096,
|
207
289
|
"kindString": "Call signature",
|
208
290
|
"flags": {},
|
209
291
|
"parameters": [
|
210
292
|
{
|
211
|
-
"id":
|
293
|
+
"id": 25,
|
212
294
|
"name": "noun",
|
213
295
|
"kind": 32768,
|
214
296
|
"kindString": "Parameter",
|
215
297
|
"flags": {},
|
216
298
|
"type": {
|
217
299
|
"type": "reference",
|
218
|
-
"id":
|
300
|
+
"id": 28,
|
219
301
|
"name": "TNoun"
|
220
302
|
}
|
221
303
|
},
|
222
304
|
{
|
223
|
-
"id":
|
305
|
+
"id": 26,
|
224
306
|
"name": "verb",
|
225
307
|
"kind": 32768,
|
226
308
|
"kindString": "Parameter",
|
227
309
|
"flags": {},
|
228
310
|
"type": {
|
229
311
|
"type": "reference",
|
230
|
-
"id":
|
312
|
+
"id": 29,
|
231
313
|
"name": "TVerb"
|
232
314
|
}
|
233
315
|
},
|
234
316
|
{
|
235
|
-
"id":
|
317
|
+
"id": 27,
|
236
318
|
"name": "data",
|
237
319
|
"kind": 32768,
|
238
320
|
"kindString": "Parameter",
|
@@ -241,7 +323,7 @@
|
|
241
323
|
},
|
242
324
|
"type": {
|
243
325
|
"type": "reference",
|
244
|
-
"id":
|
326
|
+
"id": 30,
|
245
327
|
"name": "TData"
|
246
328
|
}
|
247
329
|
}
|
@@ -265,7 +347,7 @@
|
|
265
347
|
}
|
266
348
|
},
|
267
349
|
{
|
268
|
-
"id":
|
350
|
+
"id": 13,
|
269
351
|
"name": "XyoEventNoun",
|
270
352
|
"kind": 4194304,
|
271
353
|
"kindString": "Type alias",
|
@@ -275,7 +357,7 @@
|
|
275
357
|
"fileName": "hooks/useXyoEvent.ts",
|
276
358
|
"line": 5,
|
277
359
|
"character": 12,
|
278
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
360
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/b5ab3949/packages/sdk/packages/event/src/hooks/useXyoEvent.ts#L5"
|
279
361
|
}
|
280
362
|
],
|
281
363
|
"type": {
|
@@ -297,7 +379,7 @@
|
|
297
379
|
}
|
298
380
|
},
|
299
381
|
{
|
300
|
-
"id":
|
382
|
+
"id": 14,
|
301
383
|
"name": "XyoEventVerb",
|
302
384
|
"kind": 4194304,
|
303
385
|
"kindString": "Type alias",
|
@@ -307,7 +389,7 @@
|
|
307
389
|
"fileName": "hooks/useXyoEvent.ts",
|
308
390
|
"line": 6,
|
309
391
|
"character": 12,
|
310
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
392
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/b5ab3949/packages/sdk/packages/event/src/hooks/useXyoEvent.ts#L6"
|
311
393
|
}
|
312
394
|
],
|
313
395
|
"type": {
|
@@ -316,7 +398,143 @@
|
|
316
398
|
}
|
317
399
|
},
|
318
400
|
{
|
319
|
-
"id":
|
401
|
+
"id": 6,
|
402
|
+
"name": "useCustomEvent",
|
403
|
+
"kind": 64,
|
404
|
+
"kindString": "Function",
|
405
|
+
"flags": {},
|
406
|
+
"sources": [
|
407
|
+
{
|
408
|
+
"fileName": "hooks/useCustomEvent.ts",
|
409
|
+
"line": 6,
|
410
|
+
"character": 13,
|
411
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/b5ab3949/packages/sdk/packages/event/src/hooks/useCustomEvent.ts#L6"
|
412
|
+
}
|
413
|
+
],
|
414
|
+
"signatures": [
|
415
|
+
{
|
416
|
+
"id": 7,
|
417
|
+
"name": "useCustomEvent",
|
418
|
+
"kind": 4096,
|
419
|
+
"kindString": "Call signature",
|
420
|
+
"flags": {},
|
421
|
+
"typeParameter": [
|
422
|
+
{
|
423
|
+
"id": 8,
|
424
|
+
"name": "TElement",
|
425
|
+
"kind": 131072,
|
426
|
+
"kindString": "Type parameter",
|
427
|
+
"flags": {},
|
428
|
+
"type": {
|
429
|
+
"type": "reference",
|
430
|
+
"name": "HTMLElement",
|
431
|
+
"qualifiedName": "HTMLElement",
|
432
|
+
"package": "typescript"
|
433
|
+
}
|
434
|
+
},
|
435
|
+
{
|
436
|
+
"id": 9,
|
437
|
+
"name": "TDetail",
|
438
|
+
"kind": 131072,
|
439
|
+
"kindString": "Type parameter",
|
440
|
+
"flags": {},
|
441
|
+
"default": {
|
442
|
+
"type": "intrinsic",
|
443
|
+
"name": "unknown"
|
444
|
+
}
|
445
|
+
}
|
446
|
+
],
|
447
|
+
"parameters": [
|
448
|
+
{
|
449
|
+
"id": 10,
|
450
|
+
"name": "type",
|
451
|
+
"kind": 32768,
|
452
|
+
"kindString": "Parameter",
|
453
|
+
"flags": {},
|
454
|
+
"type": {
|
455
|
+
"type": "intrinsic",
|
456
|
+
"name": "string"
|
457
|
+
}
|
458
|
+
},
|
459
|
+
{
|
460
|
+
"id": 11,
|
461
|
+
"name": "listener",
|
462
|
+
"kind": 32768,
|
463
|
+
"kindString": "Parameter",
|
464
|
+
"flags": {
|
465
|
+
"isOptional": true
|
466
|
+
},
|
467
|
+
"type": {
|
468
|
+
"type": "reference",
|
469
|
+
"id": 1,
|
470
|
+
"typeArguments": [
|
471
|
+
{
|
472
|
+
"type": "reference",
|
473
|
+
"id": 9,
|
474
|
+
"name": "TDetail"
|
475
|
+
}
|
476
|
+
],
|
477
|
+
"name": "CustomEventDispatch"
|
478
|
+
}
|
479
|
+
},
|
480
|
+
{
|
481
|
+
"id": 12,
|
482
|
+
"name": "customRef",
|
483
|
+
"kind": 32768,
|
484
|
+
"kindString": "Parameter",
|
485
|
+
"flags": {
|
486
|
+
"isOptional": true
|
487
|
+
},
|
488
|
+
"type": {
|
489
|
+
"type": "reference",
|
490
|
+
"typeArguments": [
|
491
|
+
{
|
492
|
+
"type": "reference",
|
493
|
+
"id": 8,
|
494
|
+
"name": "TElement"
|
495
|
+
}
|
496
|
+
],
|
497
|
+
"name": "RefObject",
|
498
|
+
"qualifiedName": "React.RefObject",
|
499
|
+
"package": "@types/react"
|
500
|
+
}
|
501
|
+
}
|
502
|
+
],
|
503
|
+
"type": {
|
504
|
+
"type": "tuple",
|
505
|
+
"elements": [
|
506
|
+
{
|
507
|
+
"type": "reference",
|
508
|
+
"typeArguments": [
|
509
|
+
{
|
510
|
+
"type": "reference",
|
511
|
+
"id": 8,
|
512
|
+
"name": "TElement"
|
513
|
+
}
|
514
|
+
],
|
515
|
+
"name": "RefObject",
|
516
|
+
"qualifiedName": "React.RefObject",
|
517
|
+
"package": "@types/react"
|
518
|
+
},
|
519
|
+
{
|
520
|
+
"type": "reference",
|
521
|
+
"id": 1,
|
522
|
+
"typeArguments": [
|
523
|
+
{
|
524
|
+
"type": "reference",
|
525
|
+
"id": 9,
|
526
|
+
"name": "TDetail"
|
527
|
+
}
|
528
|
+
],
|
529
|
+
"name": "CustomEventDispatch"
|
530
|
+
}
|
531
|
+
]
|
532
|
+
}
|
533
|
+
}
|
534
|
+
]
|
535
|
+
},
|
536
|
+
{
|
537
|
+
"id": 31,
|
320
538
|
"name": "useXyoEvent",
|
321
539
|
"kind": 64,
|
322
540
|
"kindString": "Function",
|
@@ -326,19 +544,19 @@
|
|
326
544
|
"fileName": "hooks/useXyoEvent.ts",
|
327
545
|
"line": 16,
|
328
546
|
"character": 13,
|
329
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
547
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/b5ab3949/packages/sdk/packages/event/src/hooks/useXyoEvent.ts#L16"
|
330
548
|
}
|
331
549
|
],
|
332
550
|
"signatures": [
|
333
551
|
{
|
334
|
-
"id":
|
552
|
+
"id": 32,
|
335
553
|
"name": "useXyoEvent",
|
336
554
|
"kind": 4096,
|
337
555
|
"kindString": "Call signature",
|
338
556
|
"flags": {},
|
339
557
|
"typeParameter": [
|
340
558
|
{
|
341
|
-
"id":
|
559
|
+
"id": 33,
|
342
560
|
"name": "T",
|
343
561
|
"kind": 131072,
|
344
562
|
"kindString": "Type parameter",
|
@@ -351,19 +569,19 @@
|
|
351
569
|
}
|
352
570
|
},
|
353
571
|
{
|
354
|
-
"id":
|
572
|
+
"id": 34,
|
355
573
|
"name": "TNoun",
|
356
574
|
"kind": 131072,
|
357
575
|
"kindString": "Type parameter",
|
358
576
|
"flags": {},
|
359
577
|
"default": {
|
360
578
|
"type": "reference",
|
361
|
-
"id":
|
579
|
+
"id": 13,
|
362
580
|
"name": "XyoEventNoun"
|
363
581
|
}
|
364
582
|
},
|
365
583
|
{
|
366
|
-
"id":
|
584
|
+
"id": 35,
|
367
585
|
"name": "TVerb",
|
368
586
|
"kind": 131072,
|
369
587
|
"kindString": "Type parameter",
|
@@ -374,7 +592,7 @@
|
|
374
592
|
}
|
375
593
|
},
|
376
594
|
{
|
377
|
-
"id":
|
595
|
+
"id": 36,
|
378
596
|
"name": "TData",
|
379
597
|
"kind": 131072,
|
380
598
|
"kindString": "Type parameter",
|
@@ -387,7 +605,7 @@
|
|
387
605
|
],
|
388
606
|
"parameters": [
|
389
607
|
{
|
390
|
-
"id":
|
608
|
+
"id": 37,
|
391
609
|
"name": "listener",
|
392
610
|
"kind": 32768,
|
393
611
|
"kindString": "Parameter",
|
@@ -396,26 +614,48 @@
|
|
396
614
|
},
|
397
615
|
"type": {
|
398
616
|
"type": "reference",
|
399
|
-
"id":
|
617
|
+
"id": 22,
|
400
618
|
"typeArguments": [
|
401
619
|
{
|
402
620
|
"type": "reference",
|
403
|
-
"id":
|
621
|
+
"id": 34,
|
404
622
|
"name": "TNoun"
|
405
623
|
},
|
406
624
|
{
|
407
625
|
"type": "reference",
|
408
|
-
"id":
|
626
|
+
"id": 35,
|
409
627
|
"name": "TVerb"
|
410
628
|
},
|
411
629
|
{
|
412
630
|
"type": "reference",
|
413
|
-
"id":
|
631
|
+
"id": 36,
|
414
632
|
"name": "TData"
|
415
633
|
}
|
416
634
|
],
|
417
635
|
"name": "XyoEventDispatch"
|
418
636
|
}
|
637
|
+
},
|
638
|
+
{
|
639
|
+
"id": 38,
|
640
|
+
"name": "sharableRef",
|
641
|
+
"kind": 32768,
|
642
|
+
"kindString": "Parameter",
|
643
|
+
"flags": {
|
644
|
+
"isOptional": true
|
645
|
+
},
|
646
|
+
"type": {
|
647
|
+
"type": "reference",
|
648
|
+
"typeArguments": [
|
649
|
+
{
|
650
|
+
"type": "reference",
|
651
|
+
"id": 33,
|
652
|
+
"name": "T"
|
653
|
+
}
|
654
|
+
],
|
655
|
+
"name": "RefObject",
|
656
|
+
"qualifiedName": "React.RefObject",
|
657
|
+
"package": "@types/react"
|
658
|
+
}
|
419
659
|
}
|
420
660
|
],
|
421
661
|
"type": {
|
@@ -426,7 +666,7 @@
|
|
426
666
|
"typeArguments": [
|
427
667
|
{
|
428
668
|
"type": "reference",
|
429
|
-
"id":
|
669
|
+
"id": 33,
|
430
670
|
"name": "T"
|
431
671
|
}
|
432
672
|
],
|
@@ -436,21 +676,21 @@
|
|
436
676
|
},
|
437
677
|
{
|
438
678
|
"type": "reference",
|
439
|
-
"id":
|
679
|
+
"id": 22,
|
440
680
|
"typeArguments": [
|
441
681
|
{
|
442
682
|
"type": "reference",
|
443
|
-
"id":
|
683
|
+
"id": 34,
|
444
684
|
"name": "TNoun"
|
445
685
|
},
|
446
686
|
{
|
447
687
|
"type": "reference",
|
448
|
-
"id":
|
688
|
+
"id": 35,
|
449
689
|
"name": "TVerb"
|
450
690
|
},
|
451
691
|
{
|
452
692
|
"type": "reference",
|
453
|
-
"id":
|
693
|
+
"id": 36,
|
454
694
|
"name": "TData"
|
455
695
|
}
|
456
696
|
],
|
@@ -466,21 +706,23 @@
|
|
466
706
|
{
|
467
707
|
"title": "Interfaces",
|
468
708
|
"children": [
|
469
|
-
|
709
|
+
15
|
470
710
|
]
|
471
711
|
},
|
472
712
|
{
|
473
713
|
"title": "Type Aliases",
|
474
714
|
"children": [
|
475
|
-
10,
|
476
715
|
1,
|
477
|
-
|
716
|
+
22,
|
717
|
+
13,
|
718
|
+
14
|
478
719
|
]
|
479
720
|
},
|
480
721
|
{
|
481
722
|
"title": "Functions",
|
482
723
|
"children": [
|
483
|
-
|
724
|
+
6,
|
725
|
+
31
|
484
726
|
]
|
485
727
|
}
|
486
728
|
],
|
@@ -489,7 +731,7 @@
|
|
489
731
|
"fileName": "index.ts",
|
490
732
|
"line": 1,
|
491
733
|
"character": 0,
|
492
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/
|
734
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/b5ab3949/packages/sdk/packages/event/src/index.ts#L1"
|
493
735
|
}
|
494
736
|
]
|
495
737
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA"}
|
package/dist/esm/hooks/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA"}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import { RefObject } from 'react';
|
2
2
|
export declare type CustomEventDispatch<T = unknown> = (detail: T) => boolean | void;
|
3
|
-
export declare const useCustomEvent: <TElement extends HTMLElement, TDetail = unknown>(type: string, listener?: CustomEventDispatch<TDetail> | undefined) => [RefObject<TElement>, CustomEventDispatch<TDetail>];
|
3
|
+
export declare const useCustomEvent: <TElement extends HTMLElement, TDetail = unknown>(type: string, listener?: CustomEventDispatch<TDetail> | undefined, customRef?: RefObject<TElement> | undefined) => [RefObject<TElement>, CustomEventDispatch<TDetail>];
|
4
4
|
//# sourceMappingURL=useCustomEvent.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useCustomEvent.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCustomEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,SAAS,EAAa,MAAM,OAAO,CAAA;AAEvD,oBAAY,mBAAmB,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAAA;AAE5E,eAAO,MAAM,cAAc,0DACnB,MAAM,
|
1
|
+
{"version":3,"file":"useCustomEvent.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCustomEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,SAAS,EAAa,MAAM,OAAO,CAAA;AAEvD,oBAAY,mBAAmB,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAAA;AAE5E,eAAO,MAAM,cAAc,0DACnB,MAAM,0JAqCb,CAAA"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
2
2
|
import { createRef, useEffect } from 'react';
|
3
|
-
export const useCustomEvent = (type, listener) => {
|
4
|
-
const ref = createRef();
|
3
|
+
export const useCustomEvent = (type, listener, customRef) => {
|
4
|
+
const ref = customRef ?? createRef();
|
5
5
|
useEffect(() => {
|
6
6
|
const element = ref?.current;
|
7
7
|
const currentListener = listener;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useCustomEvent.js","sourceRoot":"","sources":["../../../src/hooks/useCustomEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAa,SAAS,EAAE,MAAM,OAAO,CAAA;AAIvD,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAY,EACZ,QAAuC,
|
1
|
+
{"version":3,"file":"useCustomEvent.js","sourceRoot":"","sources":["../../../src/hooks/useCustomEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAa,SAAS,EAAE,MAAM,OAAO,CAAA;AAIvD,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAY,EACZ,QAAuC,EACvC,SAA+B,EACsB,EAAE;IACvD,MAAM,GAAG,GAAG,SAAS,IAAI,SAAS,EAAY,CAAA;IAC9C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAA;QAC5B,MAAM,eAAe,GAAG,QAAQ,CAAA;QAChC,MAAM,OAAO,GAAG,eAAe;YAC7B,CAAC,CAAC,CAAC,KAAuC,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAA;gBAChE,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;gBACpC,IAAI,IAAI,EAAE;oBACR,KAAK,CAAC,eAAe,EAAE,CAAA;iBACxB;YACH,CAAC;YACH,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,OAAO,IAAI,OAAO,EAAE;YACtB,OAAO,EAAE,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SACzC;QACD,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,IAAI,OAAO,EAAE;gBACtB,OAAO,EAAE,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;aAC5C;QACH,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IACF,MAAM,QAAQ,GAAiC,CAAC,MAAgB,EAAE,EAAE;QAClE,MAAM,KAAK,GAAG,IAAI,WAAW,CAAU,IAAI,EAAE;YAC3C,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,MAAM;SACP,CAAC,CAAA;QACF,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC,CAAA;IACD,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AACxB,CAAC,CAAA"}
|
@@ -7,5 +7,5 @@ export interface XyoEvent<TNoun = XyoEventNoun, TVerb = XyoEventVerb, TData = st
|
|
7
7
|
data?: TData;
|
8
8
|
}
|
9
9
|
export declare type XyoEventDispatch<TNoun = XyoEventNoun, TVerb = XyoEventVerb, TData = string> = (noun: TNoun, verb: TVerb, data?: TData) => boolean | void;
|
10
|
-
export declare const useXyoEvent: <T extends HTMLElement, TNoun = XyoEventNoun, TVerb = "click", TData = string>(listener?: XyoEventDispatch<TNoun, TVerb, TData> | undefined) => [RefObject<T>, XyoEventDispatch<TNoun, TVerb, TData>];
|
10
|
+
export declare const useXyoEvent: <T extends HTMLElement, TNoun = XyoEventNoun, TVerb = "click", TData = string>(listener?: XyoEventDispatch<TNoun, TVerb, TData> | undefined, sharableRef?: RefObject<T> | undefined) => [RefObject<T>, XyoEventDispatch<TNoun, TVerb, TData>];
|
11
11
|
//# sourceMappingURL=useXyoEvent.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useXyoEvent.d.ts","sourceRoot":"","sources":["../../../src/hooks/useXyoEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjC,oBAAY,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAAA;AACjE,oBAAY,YAAY,GAAG,OAAO,CAAA;AAElC,MAAM,WAAW,QAAQ,CAAC,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,MAAM;IAClF,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,CAAC,EAAE,KAAK,CAAA;CACb;AAED,oBAAY,gBAAgB,CAAC,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,KAAK,OAAO,GAAG,IAAI,CAAA;AAErJ,eAAO,MAAM,WAAW,
|
1
|
+
{"version":3,"file":"useXyoEvent.d.ts","sourceRoot":"","sources":["../../../src/hooks/useXyoEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjC,oBAAY,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAAA;AACjE,oBAAY,YAAY,GAAG,OAAO,CAAA;AAElC,MAAM,WAAW,QAAQ,CAAC,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,MAAM;IAClF,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,CAAC,EAAE,KAAK,CAAA;CACb;AAED,oBAAY,gBAAgB,CAAC,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,KAAK,OAAO,GAAG,IAAI,CAAA;AAErJ,eAAO,MAAM,WAAW,+OAkBvB,CAAA"}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { useCustomEvent } from './useCustomEvent';
|
2
|
-
export const useXyoEvent = (listener) => {
|
2
|
+
export const useXyoEvent = (listener, sharableRef) => {
|
3
3
|
const [ref, customDispatch] = useCustomEvent('xyo', listener
|
4
4
|
? (detail) => {
|
5
5
|
return listener(detail.noun, detail.verb, detail.data);
|
6
6
|
}
|
7
|
-
: undefined);
|
7
|
+
: undefined, sharableRef);
|
8
8
|
const dispatch = (noun, verb, data) => {
|
9
9
|
return customDispatch({ data, noun, verb });
|
10
10
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useXyoEvent.js","sourceRoot":"","sources":["../../../src/hooks/useXyoEvent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAajD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,QAAgD,
|
1
|
+
{"version":3,"file":"useXyoEvent.js","sourceRoot":"","sources":["../../../src/hooks/useXyoEvent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAajD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,QAAgD,EAChD,WAA0B,EAC6B,EAAE;IACzD,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,cAAc,CAC1C,KAAK,EACL,QAAQ;QACN,CAAC,CAAC,CAAC,MAAqC,EAAE,EAAE;YACxC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC;QACH,CAAC,CAAC,SAAS,EACb,WAAW,CACZ,CAAA;IAED,MAAM,QAAQ,GAA0C,CAAC,IAAW,EAAE,IAAW,EAAE,IAAY,EAAE,EAAE;QACjG,OAAO,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAA;IACD,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;AACxB,CAAC,CAAA"}
|
package/package.json
CHANGED
package/src/hooks/index.ts
CHANGED
@@ -6,8 +6,9 @@ export type CustomEventDispatch<T = unknown> = (detail: T) => boolean | void
|
|
6
6
|
export const useCustomEvent = <TElement extends HTMLElement, TDetail = unknown>(
|
7
7
|
type: string,
|
8
8
|
listener?: CustomEventDispatch<TDetail>,
|
9
|
+
customRef?: RefObject<TElement>,
|
9
10
|
): [RefObject<TElement>, CustomEventDispatch<TDetail>] => {
|
10
|
-
const ref = createRef<TElement>()
|
11
|
+
const ref = customRef ?? createRef<TElement>()
|
11
12
|
useEffect(() => {
|
12
13
|
const element = ref?.current
|
13
14
|
const currentListener = listener
|
package/src/hooks/useXyoEvent.ts
CHANGED
@@ -15,6 +15,7 @@ export type XyoEventDispatch<TNoun = XyoEventNoun, TVerb = XyoEventVerb, TData =
|
|
15
15
|
|
16
16
|
export const useXyoEvent = <T extends HTMLElement, TNoun = XyoEventNoun, TVerb = XyoEventVerb, TData = string>(
|
17
17
|
listener?: XyoEventDispatch<TNoun, TVerb, TData>,
|
18
|
+
sharableRef?: RefObject<T>,
|
18
19
|
): [RefObject<T>, XyoEventDispatch<TNoun, TVerb, TData>] => {
|
19
20
|
const [ref, customDispatch] = useCustomEvent<T, XyoEvent<TNoun, TVerb, TData>>(
|
20
21
|
'xyo',
|
@@ -23,6 +24,7 @@ export const useXyoEvent = <T extends HTMLElement, TNoun = XyoEventNoun, TVerb =
|
|
23
24
|
return listener(detail.noun, detail.verb, detail.data)
|
24
25
|
}
|
25
26
|
: undefined,
|
27
|
+
sharableRef,
|
26
28
|
)
|
27
29
|
|
28
30
|
const dispatch: XyoEventDispatch<TNoun, TVerb, TData> = (noun: TNoun, verb: TVerb, data?: TData) => {
|