<commit_before>/**
# Drag and Drop

HTML5-based drag and drop — a very lightweight library building on top of HTML5 drag
and drop behavior.

**Note**: right now this module is doesn't return anything.

It sets up some global event handlers and just works (arguably, it merely does things
that the browser should do, such as add a CSS selector for drop zones that are compatible
with what's being dragged).

Eventually, there will be utility methods for things like creating draggable elements
on-the-fly (which you really shouldn't need to do) and creating virtual drop targets
e.g. in between other elements to allow drag and drop rearrangement.

This module uses but does not define the following class selectors:

- `.drag-source` an element being dragged
- `.drag-target` an element on which the dragged object may be dropped
- `.drag-over` a `.drag-target` which the object is being dragged over

You may also wish to create style rules for:

- `[draggable="true"]` anything other than a `<a>` that can be dragged
- `[data-drag]` indicates types of draggable things (but they won't be draggable without above
- `[data-drop]` indicates potential drop zones

## Draggable Objects

To create a draggable element, add `draggable="true"`.

    <div draggable="true">Drag Me</div>

To specify the type(s) of content that will be dragged, use the `data-drag` attribute:

    <div draggable="true" data-drag="text/plain">Drag Me</div>

To specify the content dragged, use a `data-drag-content` attribute.

    <div
      draggable="true"
      data-drag="text/plain"
      data-drag-content="Surprise!"
    >Drag Me</div>

## Drop Zones

To create a drop zone, use the data-drop attribute set to a semicoloon-delimited lsit
of mime types:

    <div data-drop="text/plain">
      Drop plain text here
    </div>
    <div data-drop="text/plain;text/html">
      Drop html or plain text here
    </div>

Finally, you can override default drop behavior (which is to copy the dragged node into
the drop zone node) simply using data-event="drop:path.to.drop_handler" as usual.

    <div<commit_msg>fix — drag and drop docs<commit_after>/**
# Drag and Drop

HTML5-based drag and drop — a very lightweight library building on top of HTML5 drag
and drop behavior.

**Note**: right now this module runs once and doesn't return anything.

This module sets up some global event handlers and *just works*&trade; (arguably, it merely does things
that the browser should do, such as add a CSS selector for drop zones that are compatible
with what's being dragged).

Eventually, there will be utility methods for things like creating virtual drop targets
e.g. in between other elements to allow drag and drop rearrangment.

This module uses but *does not define* the following class selectors:

- `.drag-source` an element being dragged
- `.drag-target` an element on which the dragged object may be dropped
- `.drag-over` a `.drag-target` which the object is being dragged over

You may also wish to create style rules for:

- `[draggable="true"]` anything other than a `<a>` (and perhaps an `<img>`) that can be dragged
- `[data-drag]` indicates *types* of draggable things (but they won't be draggable without above
- `[data-drop]` indicates potential *drop zones*.

## Draggable Objects

To create a draggable element, add `draggable="true"`.

    <div draggable="true">Drag Me</div>

To specify the type(s) of content that will be dragged, use the `data-drag` attribute:

    <div draggable="true" data-drag="text/plain">Drag Me</div>

To specify the content dragged, use a `data-drag-content` attribute.

    <div
      draggable="true"
      data-drag="text/plain"
      data-drag-content="Surprise!"
    >Drag Me</div>

## Drop Zones

To create a drop zone, use the data-drop attribute set to a semicolon-delimited list
of mime types:

    <div data-drop="text/plain">
      Drop plain text here
    </div>
    <div data-drop="text/plain;text/html">
      Drop html or plain text here
    </div>

Finally, you can override default drop behavior (which is to copy the dragged node into
the drop zone node) simply using data-event="drop:path.to.drop_handler" as usual.

    <div
{'fraction_non_alphanumeric': 0.09003601440576231, 'fraction_numerical': 0.0009603841536614646, 'mean_word_length': 3.8554778554778553, 'pattern_counts': {'":': 0, '<': 28, '<?xml version=': 0, '>': 26, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7179997', 'n_tokens_mistral': 1218, 'n_tokens_neox': 1178, 'n_words': 563}