@kano/web-components
Version:
Shared web-components for the Kano ecosystem.
95 lines (83 loc) • 3.82 kB
HTML
<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'
}];
});
</script>
</div>`;
document.body.appendChild($_documentContainer.content);
</script>