UNPKG

api-console-assets

Version:

This repo only exists to publish api console components to npm

195 lines (159 loc) 4.12 kB
<!-- @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 --> <link rel="import" href="../../../polymer/polymer.html"> <!-- Displays a page on a device layout. <device-view device="phone" src="https://www.polymer-project.org/"></device-view> --> <dom-module id="device-view"> <template> <style> :host { display: block; position: relative; } .container { height: 100%; width: 100%; overflow: hidden; } :host([device=phone]) { width: 360px; height: 600px; margin: 60px 0 96px; } :host([device=phone][landscape]) { width: 600px; height: 360px; margin: 0; } :host([device=tablet]) { width: 720px; height: 1024px; margin: 60px 0 96px; } :host([device=tablet][landscape]) { width: 1024px; height: 720px; margin: 0; } :host([device=laptop]) { width: 1366px; height: 800px; } :host([device=phone]):before, :host([device=tablet]):before { display: block; content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: -60px -16px -96px -16px; border-radius: 32px; background: #666; } :host([device=phone][landscape]):before, :host([device=tablet][landscape]):before { margin: -16px -96px -16px -60px; } :host([device=phone]):after, :host([device=tablet]):after { display: block; content: ""; position: absolute; bottom: -76px; left: 50%; width: 56px; height: 56px; margin-left: -28px; border-radius: 28px; background: #fff; } :host([device=phone][landscape]):after, :host([device=tablet][landscape]):after { top: 50%; right: -76px; bottom: auto; left: auto; margin-top: -28px; } :host([device=laptop]):before { display: block; content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: -24px; border-radius: 12px; background: #666; } :host([device=laptop]):after { display: block; content: ""; position: absolute; right: 0; bottom: -56px; left: -140px; height: 56px; margin: -24px; border-bottom-right-radius: 12px; border-bottom-left-radius: 12px; background: #777; } iframe { position: relative; width: 100%; height: 100%; background-color: #fff; border: 0; } </style> <div class="container"> <iframe src="{{src}}"></iframe> </div> </template> <script> Polymer({ is: 'device-view', properties: { /** * The url of the page to display. */ src: String, /** * The device layout to show. Possible values are `phone`, `tablet` and `laptop`. */ device: { type: String, value: 'phone', reflectToAttribute: true }, /** * Use landscape orientaion if this is true. */ landscape: { type: Boolean, value: false, reflectToAttribute: true } }, /** * Toggles the landscape orientation. */ toggleLandscape: function() { this.landscape = !this.landscape; } }); </script> </dom-module>