add copy, locked, and unlocked icons
apply Action Pen styles as a class, not an id

In the event that we want to create multiple action pens (one for each
history of submissions), this will be a necessary step.

Note: To support that situation, we'd need to address how the Action
Elements know which link (lastSuccessful, etc.) to reference.
always store the attempted text submission

Even if the last submission was a failure, we should store the submitted
text (if provided).
remove default text of Dropzone element

The default was preventing us from creating elements with no text. It's
also no longer needed for testing.
move the Action Pen and Link Viewer into Nexus

This is the first step in visually tying together the submission and the
actions you can take (additional styling obviously needed).

This begins suppressing the text changes the Nexus used to enact on
itself.
refactor top-list element id

Makes it explicit that the (former) betterlink-dropzones <ul> can
contain items other than dropzones.
refactor Link Viewer styles as classes

This is one step towards making Link Viewer more general. The styles are
applied to Link Viewer as classes, instead of ids.
turn Link Viewer into a regular div (not dropzone)

If Link Viewer is embedded inside of a larger dropzone, it doesn't need
to handle submissions on its own.
remove selectTextOnClick function

There was little use for the function -- especially if the plan is that
copying the link will become a first-class action that is more visible.

It was also an unnecessary dependency and created more complexity
generalizing Link Viewer.
remove display of the link from Link Viewer

The content of the URL itself isn't useful to the user, as long as they
have clear options to access and share the URL.

This removes the display of the link, dedicates the text div to just the
selected content, and creates a dedicated div for an error message.

However, we're going to have an issue with the styles until we've
addressed an issue with the div-reset class taking precedence. This is
because we are no longer referring to these elements by id, but by
class.
refactor betterlink-reset CSS definitions

Moves the CSS reset definitions into a separate module (allowing us to
easily modify as needed) and defines the styles relative to all divs
underneath the root Action Drawer.

This has the side effect of requiring all additional selectors we define
to include the Action Drawer in order to beat the specificity of the
reset styles.

The pros: we no longer have to explicitly add a 'reset' class on
elements
The cons: we need to include the drawerSelector on all future
definitions (which necessitates a standard formatting of CSS styles to
prevent mistakes)
extend reset CSS to more elements

In addition to <div>, include elements that are likely to be included in
the Action Drawer.

Additionally, defines a font that we can use consistently throughout the
drawer.
add header content

Nothing fancy - just a title and subtitle
apply a fresh coat of paint on the drawer

This takes a first stab at styling the Action Drawer. It specifically
provides a palette of colors for backgrounds, fonts, and borders.

A few additions:
- adding some color along the header
- removing color overrides from child elements (Dropzone, Nexus, Link
Viewer)
- using color to designate success after a submission
- giving the dropzone more shape
don't overlap header color prop with drawer border

When the drawer's border is normally applied, it overlaps the color prop
along the header. When the drawer is on top of a page with a dark
background, this is noticeable and distracting.

By applying the border as a pseudo element, we can overlay the border so
it starts underneath the header.
hide/show Link Viewer based on dragging actions

In tandem with the Action Pen, the Nexus should hide and show the Link
Viewer as selections are dragged and submitted.
fix dragging actions

When reverting back to the prior state before dragging, we need to check
if *any* submissions have been attempted. Additionally, we should remove
success/error states while dragging.
fix inheritance for div font color

Because of inheritance and specificity rules, a child div was not
inheriting the font color from a parent element. Instead, the color
specified in the general div reset was being applied.

Specifically stating that divs should inherit the font color fixes the
issue.

Also: removes the background redefinition for dropzones. No longer
necessary.
animate dropzone to pulse while dragging

In addition to animating the dropzone, this also increases the height to
create a bigger target.
add dropzone label text

Add labels for the dropzone so its purpose is clear (and to clarify when
we're waiting for a response).

Another approach would be to update the text back and forth, but:
1) this would be confusing to follow in the code
2) assumes that the two would always share the same styles (or introduce
more complexity)

Additionally:
- update classnames to prevent matching site styles
- remove legacy label/loading text