@forgeax/app-shell 0.57.0 → 0.58.0
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/react.d.ts +2 -0
- package/dist/react.js +12 -0
- package/package.json +1 -1
package/dist/react.d.ts
CHANGED
|
@@ -269,6 +269,8 @@ interface DragPresenceLifecycleOptions {
|
|
|
269
269
|
readonly target?: DragPresenceEventTarget;
|
|
270
270
|
readonly isStartTarget: (target: EventTarget | null) => boolean;
|
|
271
271
|
readonly onActiveChange: (active: boolean) => void;
|
|
272
|
+
/** Observes every dragover, including drags that were not admitted as active. */
|
|
273
|
+
readonly onDragOver?: (target: EventTarget | null) => void;
|
|
272
274
|
}
|
|
273
275
|
/** Own one HTML5 drag-presence lease without owning target or presentation policy. */
|
|
274
276
|
declare function installDragPresenceLifecycle(options: DragPresenceLifecycleOptions): () => void;
|
package/dist/react.js
CHANGED
|
@@ -1864,6 +1864,7 @@ function installDragPresenceLifecycle(options) {
|
|
|
1864
1864
|
let disposed = false;
|
|
1865
1865
|
let active = false;
|
|
1866
1866
|
let startRegistered = false;
|
|
1867
|
+
let overRegistered = false;
|
|
1867
1868
|
let endRegistered = false;
|
|
1868
1869
|
let dropRegistered = false;
|
|
1869
1870
|
const publish = (next) => {
|
|
@@ -1889,6 +1890,13 @@ function installDragPresenceLifecycle(options) {
|
|
|
1889
1890
|
if (disposed) return;
|
|
1890
1891
|
publish(false);
|
|
1891
1892
|
};
|
|
1893
|
+
const onOver = (event) => {
|
|
1894
|
+
if (disposed) return;
|
|
1895
|
+
try {
|
|
1896
|
+
options.onDragOver?.(event.target);
|
|
1897
|
+
} catch {
|
|
1898
|
+
}
|
|
1899
|
+
};
|
|
1892
1900
|
const remove = (type, listener, registered) => {
|
|
1893
1901
|
if (!registered) return;
|
|
1894
1902
|
try {
|
|
@@ -1899,6 +1907,8 @@ function installDragPresenceLifecycle(options) {
|
|
|
1899
1907
|
try {
|
|
1900
1908
|
startRegistered = true;
|
|
1901
1909
|
target.addEventListener("dragstart", onStart, true);
|
|
1910
|
+
overRegistered = true;
|
|
1911
|
+
target.addEventListener("dragover", onOver, true);
|
|
1902
1912
|
endRegistered = true;
|
|
1903
1913
|
target.addEventListener("dragend", onEnd, true);
|
|
1904
1914
|
dropRegistered = true;
|
|
@@ -1907,6 +1917,7 @@ function installDragPresenceLifecycle(options) {
|
|
|
1907
1917
|
disposed = true;
|
|
1908
1918
|
remove("drop", onEnd, dropRegistered);
|
|
1909
1919
|
remove("dragend", onEnd, endRegistered);
|
|
1920
|
+
remove("dragover", onOver, overRegistered);
|
|
1910
1921
|
remove("dragstart", onStart, startRegistered);
|
|
1911
1922
|
publish(false);
|
|
1912
1923
|
}
|
|
@@ -1915,6 +1926,7 @@ function installDragPresenceLifecycle(options) {
|
|
|
1915
1926
|
disposed = true;
|
|
1916
1927
|
remove("drop", onEnd, dropRegistered);
|
|
1917
1928
|
remove("dragend", onEnd, endRegistered);
|
|
1929
|
+
remove("dragover", onOver, overRegistered);
|
|
1918
1930
|
remove("dragstart", onStart, startRegistered);
|
|
1919
1931
|
publish(false);
|
|
1920
1932
|
};
|