Project import generated by Copybara.

GitOrigin-RevId: 63746295f1a5ab5a619056791995793d65529e62
diff --git a/node_modules/material-design-lite/dist/components/snackbar/index.html b/node_modules/material-design-lite/dist/components/snackbar/index.html
new file mode 100644
index 0000000..f5fdcb2
--- /dev/null
+++ b/node_modules/material-design-lite/dist/components/snackbar/index.html
@@ -0,0 +1,154 @@
+
+
+
+<h2 id="introduction">Introduction</h2>
+<p>The Material Design Lite (MDL) <strong>snackbar</strong> component is a container used to notify a user of an operation&#39;s status.
+It displays at the bottom of the screen.
+A snackbar may contain an action button to execute a command for the user.
+Actions should undo the committed action or retry it if it failed for example.
+Actions should not be to close the snackbar.
+By not providing an action, the snackbar becomes a <strong>toast</strong> component.</p>
+<h2 id="basic-usage-">Basic Usage:</h2>
+<p>Start a snackbar with a container div element.
+On that container define the <code>mdl-js-snackbar</code> and <code>mdl-snackbar</code> classes.
+It is also beneficial to add the aria live and atomic values to this container.</p>
+<p>Within the container create a container element for the message.
+This element should have the class <code>mdl-snackbar__text</code>.
+Leave this element empty!
+Text is added when the snackbar is called to be shown.</p>
+<p>Second in the container, add a button element.
+This element should have the class <code>mdl-snackbar__action</code>.
+It is recommended to set the type to button to make sure no forms get submitted by accident.
+Leave the text content empty here as well!
+Do not directly apply any event handlers.</p>
+<p>You now have complete markup for the snackbar to function.
+All that is left is within your JavaScript to call the <code>showSnackbar</code> method on the snackbar container.
+This takes a <a href="#data-object">plain object</a> to configure the snackbar content appropriately.
+You may call it multiple consecutive times and messages will stack.</p>
+<h2 id="examples">Examples</h2>
+<p>All snackbars should be shown through the same element.</p>
+<h4 id="markup-">Markup:</h4>
+<pre><code class="lang-html">&lt;div aria-live=&quot;assertive&quot; aria-atomic=&quot;true&quot; aria-relevant=&quot;text&quot; class=&quot;mdl-snackbar mdl-js-snackbar&quot;&gt;
+    &lt;div class=&quot;mdl-snackbar__text&quot;&gt;&lt;/div&gt;
+    &lt;button type=&quot;button&quot; class=&quot;mdl-snackbar__action&quot;&gt;&lt;/button&gt;
+&lt;/div&gt;
+</code></pre>
+<blockquote>
+<p>Note: In this example there are a few aria attributes for accessibility. Please modify these as-needed for your site.</p>
+</blockquote>
+<h3 id="snackbar">Snackbar</h3>
+<pre><code class="lang-javascript">var notification = document.querySelector(&#39;.mdl-js-snackbar&#39;);
+var data = {
+  message: &#39;Message Sent&#39;,
+  actionHandler: function(event) {},
+  actionText: &#39;Undo&#39;,
+  timeout: 10000
+};
+notification.MaterialSnackbar.showSnackbar(data);
+</code></pre>
+<h3 id="toast">Toast</h3>
+<pre><code class="lang-javascript">var notification = document.querySelector(&#39;.mdl-js-snackbar&#39;);
+notification.MaterialSnackbar.showSnackbar(
+  {
+    message: &#39;Image Uploaded&#39;
+  }
+);
+</code></pre>
+<h2 id="css-classes">CSS Classes</h2>
+<h3 id="blocks">Blocks</h3>
+<table>
+<thead>
+<tr>
+<th>MDL Class</th>
+<th>Effect</th>
+<th>Remarks</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>mdl-snackbar</code></td>
+<td>Defines the container of the snackbar component.</td>
+<td>Required on snackbar container</td>
+</tr>
+</tbody>
+</table>
+<h3 id="elements">Elements</h3>
+<table>
+<thead>
+<tr>
+<th>MDL Class</th>
+<th>Effect</th>
+<th>Remarks</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>mdl-snackbar__text</code></td>
+<td>Defines the element containing the text of the snackbar.</td>
+<td>Required</td>
+</tr>
+<tr>
+<td><code>mdl-snackbar__action</code></td>
+<td>Defines the element that triggers the action of a snackbar.</td>
+<td>Required</td>
+</tr>
+</tbody>
+</table>
+<h3 id="modifiers">Modifiers</h3>
+<table>
+<thead>
+<tr>
+<th>MDL Class</th>
+<th>Effect</th>
+<th>Remarks</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>mdl-snackbar--active</code></td>
+<td>Marks the snackbar as active which causes it to display.</td>
+<td>Required when active. Controlled in JavaScript</td>
+</tr>
+</tbody>
+</table>
+<h2 id="data-object">Data Object</h2>
+<p>The Snackbar components <code>showSnackbar</code> method takes an object for snackbar data.
+The table below shows the properties and their usage.</p>
+<table>
+<thead>
+<tr>
+<th>Property</th>
+<th>Effect</th>
+<th>Remarks</th>
+<th>Type</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>message</td>
+<td>The text message to display.</td>
+<td>Required</td>
+<td>String</td>
+</tr>
+<tr>
+<td>timeout</td>
+<td>The amount of time in milliseconds to show the snackbar.</td>
+<td>Optional (default 2750)</td>
+<td>Integer</td>
+</tr>
+<tr>
+<td>actionHandler</td>
+<td>The function to execute when the action is clicked.</td>
+<td>Optional</td>
+<td>Function</td>
+</tr>
+<tr>
+<td>actionText</td>
+<td>The text to display for the action button.</td>
+<td>Required if actionHandler is set</td>
+<td>String.</td>
+</tr>
+</tbody>
+</table>
+
+