diff --git a/paper-dialog-behavior/paper-dialog-behavior.html b/paper-dialog-behavior/paper-dialog-behavior.html
new file mode 100644
index 0000000..245f5f5
--- /dev/null
+++ b/paper-dialog-behavior/paper-dialog-behavior.html
@@ -0,0 +1,12 @@
+<!--
+@license
+Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+-->
+
+<script crossorigin type="module" src="./paper-dialog-behavior_bridge.js"></script>
+
diff --git a/paper-dialog-behavior/paper-dialog-behavior_bridge.js b/paper-dialog-behavior/paper-dialog-behavior_bridge.js
new file mode 100644
index 0000000..e70ce28
--- /dev/null
+++ b/paper-dialog-behavior/paper-dialog-behavior_bridge.js
@@ -0,0 +1,26 @@
+/**
+@license
+Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+*/
+
+/**
+ * @fileoverview This file is a backwards-compatibility shim. Before Polymer
+ *     converted to ES Modules, it wrote its API out onto the global Polymer
+ *     object. The *_bridge.js files (like this one) maintain compatibility
+ *     with that API.
+ */
+ 
+import '../polymer/lib/utils/boot_bridge.js';
+import {PaperDialogBehavior, PaperDialogBehaviorImpl} from '@polymer/paper-dialog-behavior/paper-dialog-behavior.js';
+
+/** @const */
+Polymer.PaperDialogBehaviorImpl = PaperDialogBehaviorImpl;
+/** @const */
+Polymer.PaperDialogBehavior = PaperDialogBehavior;
+
+goog.declareModuleId('HtmlImportsNamespace.PaperDialogBehavior.PaperDialogBehavior');
diff --git a/paper-dialog-behavior/paper-dialog-shared-styles.html b/paper-dialog-behavior/paper-dialog-shared-styles.html
new file mode 100644
index 0000000..8e8e7df
--- /dev/null
+++ b/paper-dialog-behavior/paper-dialog-shared-styles.html
@@ -0,0 +1,12 @@
+<!--
+@license
+Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+-->
+
+<script crossorigin type="module" src="./paper-dialog-shared-styles_bridge.js"></script>
+
diff --git a/paper-dialog-behavior/paper-dialog-shared-styles_bridge.js b/paper-dialog-behavior/paper-dialog-shared-styles_bridge.js
new file mode 100644
index 0000000..97c0190
--- /dev/null
+++ b/paper-dialog-behavior/paper-dialog-shared-styles_bridge.js
@@ -0,0 +1,21 @@
+/**
+@license
+Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+*/
+
+/**
+ * @fileoverview This file is a backwards-compatibility shim. Before Polymer
+ *     converted to ES Modules, it wrote its API out onto the global Polymer
+ *     object. The *_bridge.js files (like this one) maintain compatibility
+ *     with that API.
+ */
+ 
+import '../polymer/lib/utils/boot_bridge.js';
+import '@polymer/paper-dialog-behavior/paper-dialog-shared-styles.js';
+
+goog.declareModuleId('HtmlImportsNamespace.PaperDialogBehavior.PaperDialogSharedStyles');
diff --git a/paper-dialog-scrollable/paper-dialog-scrollable.html b/paper-dialog-scrollable/paper-dialog-scrollable.html
new file mode 100644
index 0000000..7f99758
--- /dev/null
+++ b/paper-dialog-scrollable/paper-dialog-scrollable.html
@@ -0,0 +1,12 @@
+<!--
+@license
+Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+-->
+
+<script crossorigin type="module" src="./paper-dialog-scrollable_bridge.js"></script>
+
diff --git a/paper-dialog-scrollable/paper-dialog-scrollable_bridge.js b/paper-dialog-scrollable/paper-dialog-scrollable_bridge.js
new file mode 100644
index 0000000..9777a97
--- /dev/null
+++ b/paper-dialog-scrollable/paper-dialog-scrollable_bridge.js
@@ -0,0 +1,21 @@
+/**
+@license
+Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+*/
+
+/**
+ * @fileoverview This file is a backwards-compatibility shim. Before Polymer
+ *     converted to ES Modules, it wrote its API out onto the global Polymer
+ *     object. The *_bridge.js files (like this one) maintain compatibility
+ *     with that API.
+ */
+ 
+import '../polymer/lib/utils/boot_bridge.js';
+import '@polymer/paper-dialog-scrollable/paper-dialog-scrollable.js';
+
+goog.declareModuleId('HtmlImportsNamespace.PaperDialogScrollable.PaperDialogScrollable');
diff --git a/paper-dialog/paper-dialog.html b/paper-dialog/paper-dialog.html
new file mode 100644
index 0000000..1241d72
--- /dev/null
+++ b/paper-dialog/paper-dialog.html
@@ -0,0 +1,12 @@
+<!--
+@license
+Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+-->
+
+<script crossorigin type="module" src="./paper-dialog_bridge.js"></script>
+
diff --git a/paper-dialog/paper-dialog_bridge.js b/paper-dialog/paper-dialog_bridge.js
new file mode 100644
index 0000000..70eaae0
--- /dev/null
+++ b/paper-dialog/paper-dialog_bridge.js
@@ -0,0 +1,21 @@
+/**
+@license
+Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+*/
+
+/**
+ * @fileoverview This file is a backwards-compatibility shim. Before Polymer
+ *     converted to ES Modules, it wrote its API out onto the global Polymer
+ *     object. The *_bridge.js files (like this one) maintain compatibility
+ *     with that API.
+ */
+ 
+import '../polymer/lib/utils/boot_bridge.js';
+import '@polymer/paper-dialog/paper-dialog.js';
+
+goog.declareModuleId('HtmlImportsNamespace.PaperDialog.PaperDialog');
