ziko 0.49.7 → 0.50.2

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.
Files changed (108) hide show
  1. package/dist/ziko.cjs +817 -976
  2. package/dist/ziko.js +817 -976
  3. package/dist/ziko.min.js +2 -2
  4. package/dist/ziko.mjs +808 -961
  5. package/package.json +4 -1
  6. package/src/{reactivity → --reactivity-deprecated}/hooks/index.js +3 -3
  7. package/src/{reactivity → --reactivity-deprecated}/index.js +1 -1
  8. package/src/__ziko__/__state__.js +1 -1
  9. package/src/app/ziko-app.js +6 -6
  10. package/src/data/api/fetchdom.js +27 -11
  11. package/src/events/binders/custom-event.js +12 -8
  12. package/src/events/binders/index.js +97 -13
  13. package/src/events/custom-events-registry/index.js +3 -0
  14. package/src/events/custom-events-registry/swipe.js +76 -0
  15. package/src/events/custom-events-registry/view.js +74 -0
  16. package/src/events/details-setter/index.js +2 -0
  17. package/src/events/details-setter/key.js +14 -0
  18. package/src/events/{binders → details-setter}/pointer.js +1 -15
  19. package/src/events/{__Events__.js → events-map/index.js} +16 -4
  20. package/src/events/index.js +1 -1
  21. package/src/events/types/__Shared__.d.ts +3 -3
  22. package/src/events/types/clipboard.d.ts +2 -2
  23. package/src/events/types/focus.d.ts +2 -2
  24. package/src/events/types/pointer.d.ts +2 -2
  25. package/src/events/utils.js +31 -0
  26. package/src/events/ziko-event.js +108 -0
  27. package/src/hooks/index.js +1 -1
  28. package/src/hooks/{use-channel.js → use-ipc.js} +3 -3
  29. package/src/hooks/use-storage.js +2 -2
  30. package/src/index.js +1 -1
  31. package/src/ui/__methods__/dom.js +0 -20
  32. package/src/ui/__methods__/events.js +26 -8
  33. package/src/ui/__methods__/index.js +3 -0
  34. package/src/ui/__methods__/lifecycle.js +54 -0
  35. package/src/ui/constructors/UIElement.js +8 -32
  36. package/src/ui/constructors/UIElementCore.js +3 -136
  37. package/src/ui/{constructors/UIElement-lite.js → mini/UIElement.js} +1 -1
  38. package/src/ui/suspense/index.js +1 -2
  39. package/types/data/api/index.d.ts +15 -0
  40. package/types/data/index.d.ts +1 -0
  41. package/types/data/string/checkers.d.ts +51 -0
  42. package/types/data/string/converters.d.ts +101 -0
  43. package/types/data/string/index.d.ts +2 -0
  44. package/types/hooks/index.d.ts +1 -1
  45. package/types/hooks/{use-channel.d.ts → use-ipc.d.ts} +2 -2
  46. package/types/index.d.ts +2 -1
  47. package/src/events/__ZikoEvent__.js +0 -165
  48. package/src/events/binders/click.js +0 -20
  49. package/src/events/binders/clipboard.js +0 -16
  50. package/src/events/binders/drag.js +0 -16
  51. package/src/events/binders/focus.js +0 -16
  52. package/src/events/binders/hash.js +0 -16
  53. package/src/events/binders/key.js +0 -27
  54. package/src/events/binders/mouse.js +0 -16
  55. package/src/events/binders/touch.js +0 -16
  56. package/src/events/binders/wheel.js +0 -16
  57. package/src/events/custom-events/index.js +0 -1
  58. package/src/events/custom-events/swipe.js +0 -58
  59. package/src/events/custom-events/view.js +0 -43
  60. package/src/events/index.d.ts.txt +0 -3
  61. /package/src/{reactivity → --reactivity-deprecated}/events/Input.js +0 -0
  62. /package/src/{reactivity → --reactivity-deprecated}/events/ZikoEvent.js +0 -0
  63. /package/src/{reactivity → --reactivity-deprecated}/events/__note__ +0 -0
  64. /package/src/{reactivity → --reactivity-deprecated}/events/custom-event.js +0 -0
  65. /package/src/{reactivity → --reactivity-deprecated}/events/hash.js +0 -0
  66. /package/src/{reactivity → --reactivity-deprecated}/events/index.js +0 -0
  67. /package/src/{reactivity → --reactivity-deprecated}/events/media.js +0 -0
  68. /package/src/{reactivity → --reactivity-deprecated}/events/mouse.js +0 -0
  69. /package/src/{reactivity → --reactivity-deprecated}/events/swipe.js +0 -0
  70. /package/src/{reactivity → --reactivity-deprecated}/events/touch.js +0 -0
  71. /package/src/{reactivity → --reactivity-deprecated}/hooks/Contexte/index.js +0 -0
  72. /package/src/{reactivity → --reactivity-deprecated}/hooks/Contexte/useSuccesifKeys.js +0 -0
  73. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/index.js +0 -0
  74. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useCssLink.js +0 -0
  75. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useLinearGradient.js +0 -0
  76. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useMediaQuery.js +0 -0
  77. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useRadialGradient.js +0 -0
  78. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useRoot.js +0 -0
  79. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useStyle.js +0 -0
  80. /package/src/{reactivity → --reactivity-deprecated}/hooks/UI/useTheme.js +0 -0
  81. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/_useCssText.js +0 -0
  82. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/index.js +0 -0
  83. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/useFavIcon.js +0 -0
  84. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/useHead.js +0 -0
  85. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/useMeta.js +0 -0
  86. /package/src/{reactivity → --reactivity-deprecated}/hooks/head/useTitle.js +0 -0
  87. /package/src/{reactivity → --reactivity-deprecated}/hooks/todo.md +0 -0
  88. /package/src/{reactivity → --reactivity-deprecated}/idea +0 -0
  89. /package/src/{reactivity → --reactivity-deprecated}/observer/attributes.js +0 -0
  90. /package/src/{reactivity → --reactivity-deprecated}/observer/children.js +0 -0
  91. /package/src/{reactivity → --reactivity-deprecated}/observer/index.js +0 -0
  92. /package/src/{reactivity → --reactivity-deprecated}/observer/intersection.js +0 -0
  93. /package/src/{reactivity → --reactivity-deprecated}/observer/mutation.js +0 -0
  94. /package/src/{reactivity → --reactivity-deprecated}/observer/resize.js +0 -0
  95. /package/src/{reactivity → --reactivity-deprecated}/observer/screen.js +0 -0
  96. /package/src/{reactivity → --reactivity-deprecated}/observer/screen.js.txt +0 -0
  97. /package/src/{reactivity → --reactivity-deprecated}/observer/screen.txt +0 -0
  98. /package/src/{use → --use-deprecated}/index.js +0 -0
  99. /package/src/{use → --use-deprecated}/use-channel.js.txt +0 -0
  100. /package/src/{use → --use-deprecated}/use-event-emmiter.js.txt +0 -0
  101. /package/src/{use → --use-deprecated}/use-favicon.js +0 -0
  102. /package/src/{use → --use-deprecated}/use-link.js +0 -0
  103. /package/src/{use → --use-deprecated}/use-meta.js +0 -0
  104. /package/src/{use → --use-deprecated}/use-root.js +0 -0
  105. /package/src/{use → --use-deprecated}/use-storage.js.txt +0 -0
  106. /package/src/{use → --use-deprecated}/use-thread.js +0 -0
  107. /package/src/{use → --use-deprecated}/use-title.js +0 -0
  108. /package/src/events/{custom-events → custom-events-registry}/click-away.js +0 -0
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Converts camelCase to hyphen-case.
3
+ * @param text The camelCase string. Defaults to ''.
4
+ * @returns The converted hyphen-case string.
5
+ */
6
+ export function camel2hyphencase(text?: string): string;
7
+
8
+ /**
9
+ * Converts camelCase to snake_case.
10
+ */
11
+ export function camel2snakecase(text?: string): string;
12
+
13
+ /**
14
+ * Converts camelCase to PascalCase.
15
+ */
16
+ export function camel2pascalcase(text?: string): string;
17
+
18
+ /**
19
+ * Converts camelCase to CONSTANT_CASE.
20
+ */
21
+ export function camel2constantcase(text?: string): string;
22
+
23
+ /**
24
+ * Converts PascalCase to snake_case.
25
+ */
26
+ export function pascal2snakecase(text?: string): string;
27
+
28
+ /**
29
+ * Converts PascalCase to hyphen-case.
30
+ */
31
+ export function pascal2hyphencase(text?: string): string;
32
+
33
+ /**
34
+ * Converts PascalCase to camelCase.
35
+ */
36
+ export function pascal2camelcase(text?: string): string;
37
+
38
+ /**
39
+ * Converts PascalCase to CONSTANT_CASE.
40
+ */
41
+ export function pascal2constantcase(text?: string): string;
42
+
43
+ /**
44
+ * Converts snake_case to camelCase.
45
+ */
46
+ export function snake2camelcase(text?: string): string;
47
+
48
+ /**
49
+ * Converts snake_case to hyphen-case.
50
+ */
51
+ export function snake2hyphencase(text?: string): string;
52
+
53
+ /**
54
+ * Converts snake_case to PascalCase.
55
+ */
56
+ export function snake2pascalcase(text?: string): string;
57
+
58
+ /**
59
+ * Converts snake_case to CONSTANT_CASE.
60
+ */
61
+ export function snake2constantcase(text?: string): string;
62
+
63
+ /**
64
+ * Converts hyphen-case to camelCase.
65
+ */
66
+ export function hyphen2camelcase(text?: string): string;
67
+
68
+ /**
69
+ * Converts hyphen-case to snake_case.
70
+ */
71
+ export function hyphen2snakecase(text?: string): string;
72
+
73
+ /**
74
+ * Converts hyphen-case to PascalCase.
75
+ */
76
+ export function hyphen2pascalcase(text?: string): string;
77
+
78
+ /**
79
+ * Converts hyphen-case to CONSTANT_CASE.
80
+ */
81
+ export function hyphen2constantcase(text?: string): string;
82
+
83
+ /**
84
+ * Converts CONSTANT_CASE to camelCase.
85
+ */
86
+ export function constant2camelcase(text?: string): string;
87
+
88
+ /**
89
+ * Converts CONSTANT_CASE to snake_case.
90
+ */
91
+ export function constant2snakecase(text?: string): string;
92
+
93
+ /**
94
+ * Converts CONSTANT_CASE to PascalCase.
95
+ */
96
+ export function constant2pascalcase(text?: string): string;
97
+
98
+ /**
99
+ * Converts CONSTANT_CASE to hyphen-case.
100
+ */
101
+ export function constant2hyphencase(text?: string): string;
@@ -0,0 +1,2 @@
1
+ export type * from './checkers.d.ts'
2
+ export type * from './converters.d.ts'
@@ -1,4 +1,4 @@
1
- export type * from './use-channel.d.ts'
1
+ export type * from './use-ipc'
2
2
  export type * from './use-storage.d.ts'
3
3
  export type * from './use-state.d.ts'
4
4
  export type * from './use-derived.d.ts'
@@ -1,4 +1,4 @@
1
- export declare class UseChannel {
1
+ export declare class UseIPC {
2
2
  emit(event: string, data: any, rooms?: string[]): this;
3
3
  on(event: string, handler: (data: any) => void, rooms?: string | string[]): this;
4
4
  off(event: string, handler: (data: any) => void): this;
@@ -9,4 +9,4 @@ export declare class UseChannel {
9
9
 
10
10
  }
11
11
 
12
- export declare const useChannel: (name?: string) => UseChannel;
12
+ export declare const useIPC: (name?: string) => UseIPC;
package/types/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export type * from './math'
2
2
  export type * from './time'
3
- export type * from './hooks'
3
+ export type * from './hooks'
4
+ export type * from './data'
@@ -1,165 +0,0 @@
1
- import { getEvent } from "./utils.js"
2
- function event_controller(e, event_name, details_setter, customizer, push_object){
3
- this.cache.currentEvent = event_name;
4
- this.cache.event = e;
5
- details_setter?.call(this);
6
- customizer?.hasOwnProperty("prototype") ? customizer?.call(this) : customizer?.call(null, this);
7
- // if(customizer?.hasOwnProperty("prototype")) customizer?.call(this)
8
- // else customizer?.call(null, this)
9
- if(this.cache.preventDefault[event_name]) e.preventDefault();
10
- if(this.cache.stopPropagation[event_name]) e.stopPropagation();
11
- if(this.cache.stopImmediatePropagation[event_name]) e.stopImmediatePropagation();
12
-
13
- if(this.cache.stream.enabled[event_name]&&push_object)this.cache.stream.history[event_name].push(push_object);
14
- this.cache.callbacks[event_name]?.map(n=>n(this));
15
- }
16
- class __ZikoEvent__ {
17
- constructor(target = null, Events = [], details_setter, customizer){
18
- this.target = target;
19
- this.cache = {
20
- currentEvent : null,
21
- event: null,
22
- options : {},
23
- preventDefault : {},
24
- stopPropagation : {},
25
- stopImmediatePropagation : {},
26
- event_flow : {},
27
- paused : {},
28
- stream : {
29
- enabled : {},
30
- clear : {},
31
- history : {}
32
- },
33
- callbacks : {},
34
- __controllers__:{}
35
- }
36
- if(Events)this._register_events(Events, details_setter, customizer);
37
- }
38
- _register_events(Events, details_setter, customizer, REGISTER_METHODES = true){
39
- const events = Events?.map(n=>getEvent(n))
40
- events?.forEach((event,i)=>{
41
- Object.assign(this.cache.preventDefault, {[event] : false});
42
- Object.assign(this.cache.options, {[event] : {}});
43
- Object.assign(this.cache.paused, {[event] : false});
44
- Object.assign(this.cache.stream.enabled, {[event] : false});
45
- Object.assign(this.cache.stream.clear, {[event] : false});
46
- Object.assign(this.cache.stream.history, {[event] : []});
47
- Object.assign(this.cache.__controllers__, {[event] : e=>event_controller.call(this, e, event, details_setter, customizer)});
48
- if(REGISTER_METHODES)Object.assign(this, { [`on${Events[i]}`] : (...callbacks)=> this.__onEvent(event, this.cache.options[event], {}, ...callbacks)})
49
- })
50
- return this;
51
- }
52
- get targetElement(){
53
- return this.target?.element;
54
- }
55
- get isParent(){
56
- return this.target?.element === this.event.srcElement;
57
- }
58
- get item(){
59
- return this.target.find(n=>n.element == this.event?.srcElement)?.[0];
60
- }
61
- get currentEvent(){
62
- return this.cache.currentEvent;
63
- }
64
- get event(){
65
- return this.cache.event;
66
- }
67
- setTarget(UI){
68
- this.target=UI;
69
- return this;
70
- }
71
- __handle(event, handler, options, dispose){
72
- this.targetElement?.addEventListener(event, handler, options);
73
- return this;
74
- }
75
- __onEvent(event, options, dispose, ...callbacks){
76
- if(callbacks.length===0){
77
- console.log("00")
78
- if(this.cache.callbacks[event]){
79
- console.log("Call")
80
- // this.cache.callbacks.map(n=>e=>n.call(this,e));
81
- this.cache.callbacks[event].map(n=>e=>n.call(this,e))
82
- }
83
- else {
84
- return this;
85
- }
86
- }
87
- else this.cache.callbacks[event] = callbacks.map(n=>e=>n.call(this,e));
88
- this.__handle(event, this.cache.__controllers__[event],options, dispose)
89
- return this;
90
- }
91
- #override(methode, overrides, defaultValue){
92
- if(defaultValue === "default") Object.assign(this.cache[methode], {...this.cache[methode], ...overrides});
93
- const all = defaultValue === "default"
94
- ? this.cache[methode]
95
- : Object.fromEntries(Object.keys(this.cache.preventDefault).map(n=>[n,defaultValue]))
96
- Object.assign(this.cache[methode], {...all,...overrides});
97
- return this
98
- }
99
- preventDefault(overrides = {}, defaultValue = "default"){
100
- this.#override("preventDefault", overrides, defaultValue);
101
- // const all=Object.fromEntries(Object.keys(this.cache.preventDefault).map(n=>[n,defaultValue]))
102
- // Object.assign(this.cache.preventDefault, {...all,...overrides});
103
- return this;
104
- }
105
- stopPropagation(overrides = {}, defaultValue = "default"){
106
- this.#override("stopPropagation", overrides, defaultValue);
107
- return this;
108
- }
109
- stopImmediatePropagation(overrides = {}, defaultValue = "default"){
110
- this.#override("stopImmediatePropagation", overrides, defaultValue);
111
- return this;
112
- }
113
- setEventOptions(event, options){
114
- this.pause({[event] : true, }, "default");
115
- Object.assign(this.cache.options[getEvent(event)], options);
116
- this.resume({[event] : true, }, "default");
117
- return this;
118
- }
119
- pause(overrides = {}, defaultValue = "default"){
120
- const all = defaultValue === "default"
121
- ? this.cache.stream.enabled
122
- : Object.entries(Object.keys(this.cache.stream.enabled).map(n=>[n,defaultValue]));
123
- overrides={...all,...overrides};
124
- for(let key in overrides){
125
- if(overrides[key]){
126
- this.targetElement?.removeEventListener(key, this.cache.__controllers__[key], this.cache.options[key]);
127
- this.cache.paused[key]=true;
128
- }
129
- }
130
- return this;
131
- }
132
- resume(overrides = {}, defaultValue = "default"){
133
- const all = defaultValue === "default"
134
- ? this.cache.stream.enabled
135
- : Object.entries(Object.keys(this.cache.stream.enabled).map(n=>[n,defaultValue]));
136
- overrides={...all,...overrides};
137
- for(let key in overrides){
138
- if(overrides[key]){
139
- this.targetElement?.addEventListener(key,this.cache.__controllers__[key], this.cache.options[key]);
140
- this.cache.paused[key]=false;
141
- }
142
- }
143
- return this;
144
- }
145
- stream(overrides = {}, defaultValue = "default"){
146
- this.cache.stream.t0=Date.now();
147
- const all=Object.fromEntries(Object.keys(this.cache.stream.enabled).map(n=>[n,defaultValue]))
148
- overrides={...all,...overrides}
149
- Object.assign(this.cache.stream.enabled,overrides);
150
- return this;
151
- }
152
- clear(){
153
- return this;
154
- }
155
- dispose(overrides = {}, defaultValue = "default"){
156
- this.pause(overrides, defaultValue);
157
-
158
- return this;
159
- }
160
- }
161
-
162
- export {
163
- __ZikoEvent__,
164
- getEvent
165
- }
@@ -1,20 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- // import { register_click_away_event } from "./custom-events/click-away.js";
4
- class ZikoEventClick extends __ZikoEvent__{
5
- constructor(target, customizer){
6
- super(target, Events.Click, details_setter, customizer);
7
- // register_click_away_event(target.element)
8
- }
9
- }
10
- function details_setter(){
11
- if(this.currentEvent==="click") this.dx = 0
12
- else this.dx = 1
13
- // console.log(this.currentEvent)
14
- }
15
- const bind_click_event = (target, customizer) => new ZikoEventClick(target, customizer)
16
-
17
- export{
18
- bind_click_event,
19
- ZikoEventClick
20
- }
@@ -1,16 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventClipboard extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Clipboard, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
-
10
- }
11
- const bind_clipboard_event = (target, customizer) => new ZikoEventClipboard(target, customizer)
12
-
13
- export{
14
- bind_clipboard_event,
15
- ZikoEventClipboard
16
- }
@@ -1,16 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventDrag extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Drag, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
-
10
- }
11
- const bind_drag_event = (target, customizer) => new ZikoEventDrag(target, customizer)
12
-
13
- export{
14
- bind_drag_event,
15
- ZikoEventDrag
16
- }
@@ -1,16 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventFocus extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Focus, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
-
10
- }
11
- const bind_focus_event = (target, customizer) => new ZikoEventFocus(target, customizer)
12
-
13
- export{
14
- bind_focus_event,
15
- ZikoEventFocus
16
- }
@@ -1,16 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventHash extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Hash, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
-
10
- }
11
- const bindHashEvent = (target, customizer) => new ZikoEventHash(target, customizer)
12
-
13
- export{
14
- bindHashEvent,
15
- ZikoEventHash
16
- }
@@ -1,27 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventKey extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Key, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
- switch(this.currentEvent){
10
- case "keydown" : {
11
- this.kd = this.event.key
12
- }; break;
13
- case "keypress" : {
14
- this.kp = this.event.key
15
- }; break;
16
- case "keyup" : {
17
- this.ku = this.event.key
18
- }; break;
19
-
20
- }
21
- }
22
- const bind_key_event = (target, customizer) => new ZikoEventKey(target, customizer)
23
-
24
- export{
25
- bind_key_event,
26
- ZikoEventKey
27
- }
@@ -1,16 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventMouse extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Mouse, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
-
10
- }
11
- const bind_mouse_event = (target, customizer) => new ZikoEventMouse(target, customizer)
12
-
13
- export{
14
- bind_mouse_event,
15
- ZikoEventMouse
16
- }
@@ -1,16 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventTouch extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Touch, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
-
10
- }
11
- const bindTouchEvent = (target, customizer) => new ZikoEventTouch(target, customizer)
12
-
13
- export{
14
- bindTouchEvent,
15
- ZikoEventTouch
16
- }
@@ -1,16 +0,0 @@
1
- import { __ZikoEvent__ } from "../__ZikoEvent__.js";
2
- import { Events } from "../__Events__.js";
3
- class ZikoEventWheel extends __ZikoEvent__{
4
- constructor(target, customizer){
5
- super(target, Events.Wheel, details_setter, customizer)
6
- }
7
- }
8
- function details_setter(){
9
-
10
- }
11
- const bind_wheel_event = (target, customizer) => new ZikoEventWheel(target, customizer)
12
-
13
- export{
14
- bind_wheel_event,
15
- ZikoEventWheel
16
- }
@@ -1 +0,0 @@
1
- export * from './click-away.js'
@@ -1,58 +0,0 @@
1
- class SwipeEvent extends Event {
2
- constructor(type, direction, distX, distY, originalEvent) {
3
- super(type, { bubbles: true, cancelable: true });
4
- this.direction = direction; // "left" | "right" | "up" | "down"
5
- this.distX = distX;
6
- this.distY = distY;
7
- this.originalEvent = originalEvent;
8
- }
9
- }
10
-
11
- function register_swipe_event(element, threshold = 50, restraint = 100, allowedTime = 500) {
12
- let startX, startY, startTime, isPointerDown = false;
13
- function onPointerDown(e) {
14
- startX = e.clientX;
15
- startY = e.clientY;
16
- startTime = Date.now();
17
- isPointerDown = true;
18
- }
19
- function onPointerUp(e) {
20
- if (!isPointerDown) return;
21
- isPointerDown = false;
22
-
23
- const distX = e.clientX - startX;
24
- const distY = e.clientY - startY;
25
- const elapsedTime = Date.now() - startTime;
26
- let direction = null;
27
- let eventName = null;
28
-
29
- if (elapsedTime <= allowedTime) {
30
- if (Math.abs(distX) >= threshold && Math.abs(distY) <= restraint) {
31
- direction = distX < 0 ? "left" : "right";
32
- eventName = "swipe" + direction;
33
- } else if (Math.abs(distY) >= threshold && Math.abs(distX) <= restraint) {
34
- direction = distY < 0 ? "up" : "down";
35
- eventName = "swipe" + direction;
36
- }
37
- }
38
-
39
- if (eventName && direction) {
40
- element.dispatchEvent(
41
- new SwipeEvent(eventName, direction, distX, distY, e),
42
- );
43
- }
44
- }
45
-
46
- element.addEventListener("pointerdown", onPointerDown, false);
47
- element.addEventListener("pointerup", onPointerUp, false);
48
-
49
- return () => {
50
- element.removeEventListener("pointerdown", onPointerDown, false);
51
- element.removeEventListener("pointerup", onPointerUp, false);
52
- };
53
- }
54
-
55
- export{
56
- SwipeEvent,
57
- register_swipe_event
58
- }
@@ -1,43 +0,0 @@
1
- class ViewEvent extends Event {
2
- constructor(type, detail) {
3
- super(type, { bubbles: true, cancelable: true });
4
- this.detail = detail;
5
- }
6
- }
7
-
8
- function register_view_event(element, { intersection = true, resize = true, threshold = 0 } = {}) {
9
- let intersectionObserver, resizeObserver;
10
- if (intersection) {
11
- intersectionObserver = new IntersectionObserver(entries => {
12
- for (let entry of entries) {
13
- const type = entry.isIntersecting ? "enterView" : "exitView";
14
- element.dispatchEvent(new ViewEvent(type, entry));
15
- }
16
- }, { threshold });
17
- intersectionObserver.observe(element);
18
- }
19
- if (resize) {
20
- resizeObserver = new ResizeObserver(entries => {
21
- for (let entry of entries) {
22
- const { width, height } = entry.contentRect;
23
- element.dispatchEvent(new ViewEvent("resizeView", { width, height, entry }));
24
- }
25
- });
26
- resizeObserver.observe(element);
27
- }
28
- return () => {
29
- if (intersectionObserver) {
30
- intersectionObserver.unobserve(element);
31
- intersectionObserver.disconnect();
32
- }
33
- if (resizeObserver) {
34
- resizeObserver.unobserve(element);
35
- resizeObserver.disconnect();
36
- }
37
- };
38
- }
39
-
40
- export{
41
- ViewEvent,
42
- register_view_event
43
- }
@@ -1,3 +0,0 @@
1
- export type * from "./types/pointer.d.ts"
2
- export type * from "./types/clipboard.d.ts"
3
- export type * from "./types/focus.d.ts"