UNPKG

@kano/web-components

Version:

Shared web-components for the Kano ecosystem.

95 lines (83 loc) 3.82 kB
<html> <head> <title>kano-user-menu demo</title> <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes"> <meta name="mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes"> <script src="../../../../@webcomponents/webcomponentsjs/webcomponents-bundle.js"></script> <script type="module" src="../../../../@polymer/iron-demo-helpers/demo-snippet.js"></script> <script type="module" src="../../../../@polymer/iron-demo-helpers/demo-pages-shared-styles.js"></script> <script type="module" src="../kano-user-menu.js"></script> <!-- FIXME(polymer-modulizer): These imperative modules that innerHTML your HTML are a hacky way to be sure that any mixins in included style modules are ready before any elements that reference them are instantiated, otherwise the CSS @apply mixin polyfill won't be able to expand the underlying CSS custom properties. See: https://github.com/Polymer/polymer-modulizer/issues/154 --> <script type="module"> const $_documentContainer = document.createElement('template'); $_documentContainer.innerHTML = `<custom-style> <style is="custom-style" include="demo-pages-shared-styles"> kano-user-menu { height: 60px; } </style> </custom-style>`; document.body.appendChild($_documentContainer.content); </script> </head> <body unresolved> <script type="module"> const $_documentContainer = document.createElement('template'); $_documentContainer.innerHTML = `<div class="vertical-section-container centered"> <h3>Not authenticated</h3> <demo-snippet> <template> <kano-user-menu></kano-user-menu> </template> </demo-snippet> <h3>Authenticated</h3> <demo-snippet> <template> <kano-user-menu id="authenticated"></kano-user-menu> </template> </demo-snippet> <h3>Authenticated with summary</h3> <demo-snippet> <template> <kano-user-menu id="authenticated-with-summary" user-summary=""></kano-user-menu> </template> </demo-snippet> <script> document.addEventListener('WebComponentsReady', () => { var menu = document.querySelector('#authenticated'), withSummary = document.querySelector('#authenticated-with-summary'); withSummary.user = menu.user = { username: 'heymaaaan', profile: { progress: { levels: { level: 7, complete: 0.4, xp: 304 } } } }; withSummary.notifications = menu.notifications = [{ title: 'Someone shared', category: 'shares' }, { title: 'Someone liked', category: 'likes' }, { title: 'Someone followed you', category: 'follows' }]; }); &lt;/script> </div>`; document.body.appendChild($_documentContainer.content); </script>