@haxtheweb/create
Version:
CLI for all things HAX the web
71 lines (63 loc) • 2.04 kB
JavaScript
/**
* Copyright <%= year %> <%= author %>
* @license Apache-2.0, see License.md for full text.
*/
import { HAXCMSLitElementTheme, css, unsafeCSS, html, store, autorun, toJS } from "@haxtheweb/haxcms-elements/lib/core/HAXCMSLitElementTheme.js";
import { PolarisFlexTheme } from "@haxtheweb/polaris-theme/lib/polaris-flex-theme.js";
import "@haxtheweb/haxcms-elements/lib/ui-components/blocks/site-children-block.js";
/**
* `<%= className %>`
* `<%= className %> based on modern flex design system`
* `This theme is an example of extending an existing theme component`
*
* @microcopy - language worth noting:
* - HAXcms - A headless content management system
* - HAXCMSTheme - A super class that provides correct baseline wiring to build a new theme
*
* @documentation - see HAX docs to learn more about theming
* - Custom theme development - https://haxtheweb.org/documentation/developers/haxsite/custom-theme-development
* - Theme Blocks - https://haxtheweb.org/documentation/developers/theme-blocks
* - DDD - https://haxtheweb.org/documentation/ddd
* - Data Store - https://haxtheweb.org/documentation/developers/haxsite/data-store
* @element <%= customThemeName %>
*/
class <%= className %> extends PolarisFlexTheme {
//styles function
static get styles() {
return [
super.styles,
css`
:host {
display: block;
}
`,
];
}
/**
* Overload methods for customization of slots from the base class
*/
renderHeaderSlot() {
return html``
}
renderFooterContactInformation() {
return html``
}
renderFooterSecondarySlot() {
return html``
}
renderFooterPrimarySlot() {
return html``
}
/**
* Store the tag name to make it easier to obtain directly.
* @notice function name must be here for tooling to operate correctly
*/
static get tag() {
return "<%= customThemeName %>";
}
constructor() {
super();
}
}
customElements.define(<%= className %>.tag, <%= className %>);
export { <%= className %> };