diff --git a/features/draganddrop.yml b/features/draganddrop.yml new file mode 100644 index 00000000000..ae80f388910 --- /dev/null +++ b/features/draganddrop.yml @@ -0,0 +1,42 @@ +name: Drag and Drop +description: "The Drag and Drop API lets users drag and drop elements and external files such as images onto web pages. Developers can customize which elements can become draggable, the type of feedback the draggable elements produce, and the droppable elements." +spec: https://html.spec.whatwg.org/multipage/dnd.html#dnd +caniuse: dragndrop +# This gets closest to matching what Caniuse has. +status: + compute_from: api.DataTransfer +compat_features: + - api.DataTransfer + - api.DataTransfer.DataTransfer + - api.DataTransfer.clearData + - api.DataTransfer.dropEffect + - api.DataTransfer.effectAllowed + - api.DataTransfer.files + - api.DataTransfer.getData + - api.DataTransfer.items + - api.DataTransfer.setData + - api.DataTransfer.setDragImage + - api.DataTransfer.types + - api.DataTransferItem + - api.DataTransferItem.getAsFile + # api.DataTransferItem.getAsFileSystemHandle was in the file-system-access feature, but it can't be in both features at once. See https://github.com/web-platform-dx/web-features/issues/1173 for details + - api.DataTransferItem.getAsFileSystemHandle + - api.DataTransferItem.getAsString + - api.DataTransferItem.kind + - api.DataTransferItem.type + - api.DataTransferItemList + - api.DataTransferItemList.add + - api.DataTransferItemList.clear + - api.DataTransferItemList.length + - api.DataTransferItemList.remove + - api.DragEvent + - api.DragEvent.DragEvent + - api.DragEvent.dataTransfer + - api.HTMLElement.drag_event + - api.HTMLElement.dragend_event + - api.HTMLElement.dragenter_event + - api.HTMLElement.draggable + - api.HTMLElement.dragleave_event + - api.HTMLElement.dragover_event + - api.HTMLElement.dragstart_event + - api.HTMLElement.drop_event diff --git a/features/draganddrop.yml.dist b/features/draganddrop.yml.dist new file mode 100644 index 00000000000..ec78a37d7f3 --- /dev/null +++ b/features/draganddrop.yml.dist @@ -0,0 +1,198 @@ +# Generated from: draganddrop.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 + support: + chrome: "3" + chrome_android: "18" + edge: "12" + firefox: "3.5" + firefox_android: "4" + safari: "4" + safari_ios: "3.2" +compat_features: + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "9" + # firefox_android: "9" + # safari: "3.1" + # safari_ios: "2" + - api.HTMLElement.drag_event + - api.HTMLElement.dragend_event + - api.HTMLElement.dragenter_event + - api.HTMLElement.dragleave_event + - api.HTMLElement.dragover_event + - api.HTMLElement.dragstart_event + - api.HTMLElement.drop_event + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "3" + # chrome_android: "18" + # edge: "12" + # firefox: "3.5" + # firefox_android: "4" + # safari: "4" + # safari_ios: "3.2" + - api.DataTransfer + - api.DataTransfer.clearData + - api.DataTransfer.dropEffect + - api.DataTransfer.effectAllowed + - api.DataTransfer.getData + - api.DataTransfer.types + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "3" + # chrome_android: "18" + # edge: "12" + # firefox: "3.5" + # firefox_android: "4" + # safari: "5" + # safari_ios: "5" + - api.DataTransfer.setData + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "3" + # chrome_android: "18" + # edge: "12" + # firefox: "3.6" + # firefox_android: "4" + # safari: "4" + # safari_ios: "3.2" + - api.DataTransfer.files + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "4" + # chrome_android: "18" + # edge: "12" + # firefox: "2" + # firefox_android: "4" + # safari: "5" + # safari_ios: "4" + - api.HTMLElement.draggable + + # baseline: high + # baseline_low_date: 2016-11-15 + # baseline_high_date: 2019-05-15 + # support: + # chrome: "11" + # chrome_android: "18" + # edge: "12" + # firefox: "50" + # firefox_android: "50" + # safari: "5.1" + # safari_ios: "5" + - api.DataTransferItem + - api.DataTransferItem.getAsFile + - api.DataTransferItem.getAsString + - api.DataTransferItem.kind + - api.DataTransferItem.type + + # baseline: high + # baseline_low_date: 2016-11-15 + # baseline_high_date: 2019-05-15 + # support: + # chrome: "13" + # chrome_android: "18" + # edge: "12" + # firefox: "50" + # firefox_android: "50" + # safari: "6" + # safari_ios: "6" + - api.DataTransferItemList + - api.DataTransferItemList.add + - api.DataTransferItemList.clear + - api.DataTransferItemList.length + + # baseline: high + # baseline_low_date: 2016-11-15 + # baseline_high_date: 2019-05-15 + # support: + # chrome: "31" + # chrome_android: "31" + # edge: "12" + # firefox: "50" + # firefox_android: "50" + # safari: "6" + # safari_ios: "6" + - api.DataTransferItemList.remove + + # baseline: high + # baseline_low_date: 2018-04-12 + # baseline_high_date: 2020-10-12 + # support: + # chrome: "3" + # chrome_android: "18" + # edge: "12" + # firefox: "50" + # firefox_android: "52" + # safari: "11.1" + # safari_ios: "11.3" + - api.DataTransfer.items + + # baseline: high + # baseline_low_date: 2018-10-02 + # baseline_high_date: 2021-04-02 + # support: + # chrome: "3" + # chrome_android: "18" + # edge: "18" + # firefox: "3.5" + # firefox_android: "4" + # safari: "4" + # safari_ios: "3.2" + - api.DataTransfer.setDragImage + + # baseline: high + # baseline_low_date: 2020-09-16 + # baseline_high_date: 2023-03-16 + # support: + # chrome: "46" + # chrome_android: "46" + # edge: "12" + # firefox: "3.5" + # firefox_android: "4" + # safari: "14" + # safari_ios: "14" + - api.DragEvent + - api.DragEvent.DragEvent + - api.DragEvent.dataTransfer + + # baseline: high + # baseline_low_date: 2021-04-26 + # baseline_high_date: 2023-10-26 + # support: + # chrome: "59" + # chrome_android: "59" + # edge: "17" + # firefox: "62" + # firefox_android: "62" + # safari: "14.1" + # safari_ios: "14.5" + - api.DataTransfer.DataTransfer + + # baseline: false + # support: + # chrome: "86" + # edge: "86" + - api.DataTransferItem.getAsFileSystemHandle diff --git a/features/file-system-access.yml b/features/file-system-access.yml index 33e5ba29d63..876d8cd0d49 100644 --- a/features/file-system-access.yml +++ b/features/file-system-access.yml @@ -4,8 +4,6 @@ spec: https://wicg.github.io/file-system-access/ caniuse: native-filesystem-api group: file-system compat_features: - # api.DataTransferItem.getAsFileSystemHandle is likely to be part of a drag and drop feature, but it can't be in both features at once. See https://github.com/web-platform-dx/web-features/issues/1173 for details - - api.DataTransferItem.getAsFileSystemHandle - api.FileSystemHandle.queryPermission - api.FileSystemHandle.requestPermission - api.Window.showDirectoryPicker diff --git a/features/file-system-access.yml.dist b/features/file-system-access.yml.dist index ef0acb373b4..d8ac378cf00 100644 --- a/features/file-system-access.yml.dist +++ b/features/file-system-access.yml.dist @@ -20,7 +20,6 @@ compat_features: # support: # chrome: "86" # edge: "86" - - api.DataTransferItem.getAsFileSystemHandle - api.Window.showDirectoryPicker - api.Window.showOpenFilePicker - api.Window.showSaveFilePicker