mirror of
https://github.com/modernweb-dev/rocket.git
synced 2026-03-10 08:51:24 +00:00
feat: prepare @rocket/launch release
This commit is contained in:
@@ -18,6 +18,7 @@ export async function registerCustomElements() {
|
||||
await import('#components/MyCounter.js').then(m => m.MyCounter),
|
||||
);
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export default () => html`
|
||||
|
||||
@@ -5,5 +5,11 @@
|
||||
"url": "/",
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0
|
||||
"level": 0,
|
||||
"components": {
|
||||
"hello-wave": "#components/HelloWave.js::HelloWave",
|
||||
"hello-typer": "#components/HelloTyper.js::HelloTyper",
|
||||
"my-counter": "#components/MyCounter.js::MyCounter"
|
||||
},
|
||||
"needsLoader": true
|
||||
}
|
||||
@@ -7,6 +7,13 @@
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"components": {
|
||||
"blog-author": "rocket-blog-starter/components/BlogAuthor::BlogAuthor",
|
||||
"blog-header": "rocket-blog-starter/components/BlogHeader::BlogHeader",
|
||||
"blog-post": "rocket-blog-starter/components/BlogPost::BlogPost",
|
||||
"blog-post-preview": "rocket-blog-starter/components/BlogPostPreview::BlogPostPreview",
|
||||
"site-footer": "rocket-blog-starter/components/SiteFooter::SiteFooter"
|
||||
},
|
||||
"description": "The perfect starter for your perfect blog.",
|
||||
"layout": false,
|
||||
"permalink": "https://example.com/",
|
||||
@@ -26,7 +33,14 @@
|
||||
"url": "/about/",
|
||||
"outputRelativeFilePath": "about/index.html",
|
||||
"sourceRelativeFilePath": "about.rocket.md",
|
||||
"level": 1
|
||||
"level": 1,
|
||||
"components": {
|
||||
"blog-author": "rocket-blog-starter/components/BlogAuthor::BlogAuthor",
|
||||
"blog-header": "rocket-blog-starter/components/BlogHeader::BlogHeader",
|
||||
"blog-post": "rocket-blog-starter/components/BlogPost::BlogPost",
|
||||
"blog-post-preview": "rocket-blog-starter/components/BlogPostPreview::BlogPostPreview",
|
||||
"site-footer": "rocket-blog-starter/components/SiteFooter::SiteFooter"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "blog/index.rocket.js",
|
||||
@@ -35,6 +49,13 @@
|
||||
"outputRelativeFilePath": "blog/index.html",
|
||||
"sourceRelativeFilePath": "blog/index.rocket.js",
|
||||
"level": 1,
|
||||
"components": {
|
||||
"blog-author": "rocket-blog-starter/components/BlogAuthor::BlogAuthor",
|
||||
"blog-header": "rocket-blog-starter/components/BlogHeader::BlogHeader",
|
||||
"blog-post": "rocket-blog-starter/components/BlogPost::BlogPost",
|
||||
"blog-post-preview": "rocket-blog-starter/components/BlogPostPreview::BlogPostPreview",
|
||||
"site-footer": "rocket-blog-starter/components/SiteFooter::SiteFooter"
|
||||
},
|
||||
"layout": false,
|
||||
"children": [
|
||||
{
|
||||
@@ -48,6 +69,13 @@
|
||||
"level": 2,
|
||||
"author": "Thomas Allmer (@daKmoR)",
|
||||
"authorHref": "https://twitter.com/daKmoR",
|
||||
"components": {
|
||||
"blog-author": "rocket-blog-starter/components/BlogAuthor::BlogAuthor",
|
||||
"blog-header": "rocket-blog-starter/components/BlogHeader::BlogHeader",
|
||||
"blog-post": "rocket-blog-starter/components/BlogPost::BlogPost",
|
||||
"blog-post-preview": "rocket-blog-starter/components/BlogPostPreview::BlogPostPreview",
|
||||
"site-footer": "rocket-blog-starter/components/SiteFooter::SiteFooter"
|
||||
},
|
||||
"description": "Just a Hello World Post!",
|
||||
"publishDate": "12 Sep 2021",
|
||||
"value": 128
|
||||
@@ -64,6 +92,13 @@
|
||||
"alt": "Liftoff Flames",
|
||||
"author": "Thomas Allmer (@daKmoR)",
|
||||
"authorHref": "https://twitter.com/daKmoR",
|
||||
"components": {
|
||||
"blog-author": "rocket-blog-starter/components/BlogAuthor::BlogAuthor",
|
||||
"blog-header": "rocket-blog-starter/components/BlogHeader::BlogHeader",
|
||||
"blog-post": "rocket-blog-starter/components/BlogPost::BlogPost",
|
||||
"blog-post-preview": "rocket-blog-starter/components/BlogPostPreview::BlogPostPreview",
|
||||
"site-footer": "rocket-blog-starter/components/SiteFooter::SiteFooter"
|
||||
},
|
||||
"description": "Now with an image!",
|
||||
"heroImage": "./assets/liftoff-flames.jpg",
|
||||
"publishDate": "13 Sep 2021",
|
||||
|
||||
@@ -6,5 +6,25 @@
|
||||
"url": "/",
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.html",
|
||||
"level": 0
|
||||
"level": 0,
|
||||
"components": {
|
||||
"block-columns": "@rocket/components/block-columns.js::BlockColumns",
|
||||
"testimonial-small": "@rocket/components/testimonial-small.js::TestimonialSmall",
|
||||
"feature-small": "@rocket/components/feature-small.js::FeatureSmall",
|
||||
"the-block": "@rocket/components/the-block.js::TheBlock",
|
||||
"inline-notification": "@rocket/components/inline-notification.js::InlineNotification",
|
||||
"permanent-notification": "@rocket/components/permanent-notification.js::PermanentNotification",
|
||||
"card-icon": "@rocket/components/card-icon.js::CardIcon",
|
||||
"server-icon": "@rocket/components/server-icon.js::ServerIcon",
|
||||
"opengraph-overview": "@rocket/components/open-graph-overview.js::OpenGraphOverview",
|
||||
"rocket-drawer": "@rocket/components/drawer.js::RocketDrawer",
|
||||
"rocket-header": "@rocket/components/header.js::RocketHeader",
|
||||
"main-docs": "@rocket/components/main-docs.js::MainDocs",
|
||||
"main-content": "@rocket/components/main-content.js::MainContent",
|
||||
"rocket-social-link": "@rocket/components/social-link.js::RocketSocialLink",
|
||||
"content-area": "@rocket/components/content-area.js::ContentArea",
|
||||
"block-blue": "@rocket/spark/block-blue.js::BlockBlue",
|
||||
"block-features": "@rocket/spark/block-features.js::BlockFeatures",
|
||||
"block-columns-gray": "#components/BlockColumnsGray.js::BlockColumnsGray"
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,9 @@
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "@test/components::MyVeryLongElementName"
|
||||
},
|
||||
"fakeComponents": "",
|
||||
"fakeHtml": "",
|
||||
"fakeLayout": "",
|
||||
|
||||
@@ -14,5 +14,7 @@ export const rocketComponents = {
|
||||
'rocket-drawer': '@rocket/components/drawer.js::RocketDrawer',
|
||||
'rocket-header': '@rocket/components/header.js::RocketHeader',
|
||||
'main-docs': '@rocket/components/main-docs.js::MainDocs',
|
||||
'main-content': '@rocket/components/main-content.js::MainContent',
|
||||
'rocket-social-link': '@rocket/components/social-link.js::RocketSocialLink',
|
||||
'content-area': '@rocket/components/content-area.js::ContentArea',
|
||||
};
|
||||
|
||||
1
packages/components/exports/content-area.js
Normal file
1
packages/components/exports/content-area.js
Normal file
@@ -0,0 +1 @@
|
||||
export { ContentArea } from '../src/content-area/ContentArea.js';
|
||||
1
packages/components/exports/main-content.js
Normal file
1
packages/components/exports/main-content.js
Normal file
@@ -0,0 +1 @@
|
||||
export { MainContent } from '../src/main-content/MainContent.js';
|
||||
30
packages/components/src/content-area/ContentArea.js
Normal file
30
packages/components/src/content-area/ContentArea.js
Normal file
@@ -0,0 +1,30 @@
|
||||
import { LitElement, html, css } from 'lit';
|
||||
|
||||
export class ContentArea extends LitElement {
|
||||
render() {
|
||||
return html`
|
||||
<div id="content-area">
|
||||
<slot></slot>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
||||
static styles = [
|
||||
css`
|
||||
/** content-area */
|
||||
#content-area {
|
||||
padding: 0 20px;
|
||||
display: block;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
@media screen and (min-width: 1024px) {
|
||||
#content-area {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
`,
|
||||
];
|
||||
}
|
||||
@@ -3,13 +3,11 @@ import { LitElement, html, css } from 'lit';
|
||||
export class RocketHeader extends LitElement {
|
||||
render() {
|
||||
return html`
|
||||
<div id="content-area">
|
||||
<slot name="logo"></slot>
|
||||
<slot name="search"></slot>
|
||||
<slot id="content"></slot>
|
||||
<slot name="mobile-menu"></slot>
|
||||
<slot name="social"></slot>
|
||||
</div>
|
||||
<slot name="logo"></slot>
|
||||
<slot name="search"></slot>
|
||||
<slot id="content"></slot>
|
||||
<slot name="mobile-menu"></slot>
|
||||
<slot name="social"></slot>
|
||||
`;
|
||||
}
|
||||
|
||||
@@ -27,6 +25,9 @@ export class RocketHeader extends LitElement {
|
||||
--shadow-strength: 1%;
|
||||
--shadow-2: 0 3px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
|
||||
0 7px 14px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%));
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
slot[name='logo']::slotted(*) {
|
||||
@@ -49,20 +50,6 @@ export class RocketHeader extends LitElement {
|
||||
}
|
||||
}
|
||||
|
||||
/** content-area */
|
||||
#content-area {
|
||||
padding: 0 20px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
@media screen and (min-width: 1024px) {
|
||||
#content-area {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
slot[name='social']::slotted(*:last-child) {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
55
packages/components/src/main-content/MainContent.js
Normal file
55
packages/components/src/main-content/MainContent.js
Normal file
@@ -0,0 +1,55 @@
|
||||
import { LitElement, html, css } from 'lit';
|
||||
|
||||
export class MainContent extends LitElement {
|
||||
render() {
|
||||
return html`
|
||||
<div id="content">
|
||||
<slot id="content-slot"></slot>
|
||||
</div>
|
||||
<div id="toc">
|
||||
<div id="toc-sticky">
|
||||
<slot name="toc"></slot>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
||||
static styles = [
|
||||
css`
|
||||
:host {
|
||||
display: grid;
|
||||
gap: 5ch;
|
||||
}
|
||||
|
||||
#toc {
|
||||
display: none;
|
||||
max-width: 25ch;
|
||||
}
|
||||
#content {
|
||||
max-width: 100vw;
|
||||
box-sizing: border-box;
|
||||
/* makes sure that code blocks don't grow bigger then main => see https://css-tricks.com/preventing-a-grid-blowout/ */
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1024px) {
|
||||
#toc {
|
||||
display: block;
|
||||
}
|
||||
#content {
|
||||
grid-column: 2 / 3;
|
||||
}
|
||||
#toc {
|
||||
grid-column: 3 / 4;
|
||||
}
|
||||
}
|
||||
|
||||
#toc-sticky {
|
||||
position: sticky;
|
||||
top: 70px;
|
||||
overflow: auto;
|
||||
max-height: calc(100vh - 70px);
|
||||
}
|
||||
`,
|
||||
];
|
||||
}
|
||||
@@ -3,19 +3,17 @@ import { LitElement, html, css } from 'lit';
|
||||
export class MainDocs extends LitElement {
|
||||
render() {
|
||||
return html`
|
||||
<div id="content-area">
|
||||
<div id="menu">
|
||||
<div id="menu-sticky">
|
||||
<slot name="menu"></slot>
|
||||
</div>
|
||||
<div id="menu">
|
||||
<div id="menu-sticky">
|
||||
<slot name="menu"></slot>
|
||||
</div>
|
||||
<div id="content">
|
||||
<slot id="content-slot"></slot>
|
||||
</div>
|
||||
<div id="toc">
|
||||
<div id="toc-sticky">
|
||||
<slot name="toc"></slot>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content">
|
||||
<slot id="content-slot"></slot>
|
||||
</div>
|
||||
<div id="toc">
|
||||
<div id="toc-sticky">
|
||||
<slot name="toc"></slot>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
@@ -23,7 +21,7 @@ export class MainDocs extends LitElement {
|
||||
|
||||
static styles = [
|
||||
css`
|
||||
#content-area {
|
||||
:host {
|
||||
display: grid;
|
||||
gap: 5ch;
|
||||
}
|
||||
@@ -42,10 +40,6 @@ export class MainDocs extends LitElement {
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1024px) {
|
||||
#content-area {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
#menu,
|
||||
#toc {
|
||||
display: block;
|
||||
|
||||
@@ -132,4 +132,17 @@ export class Layout {
|
||||
this.options = originalOptions;
|
||||
return output;
|
||||
}
|
||||
|
||||
getCurrentPage() {
|
||||
if (this.options.pageTree) {
|
||||
return this.options.pageTree.getPage(this.data.sourceRelativeFilePath);
|
||||
}
|
||||
}
|
||||
|
||||
getCurrentPageData() {
|
||||
const current = this.getCurrentPage();
|
||||
if (current) {
|
||||
return current.model;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ export class AdjustAssetUrls {
|
||||
assetElements = [
|
||||
{ tagName: 'img', attribute: 'src' },
|
||||
{ tagName: 'img', attribute: 'srcset' },
|
||||
{ tagName: 'source', attribute: 'src' },
|
||||
{ tagName: 'source', attribute: 'srcset' },
|
||||
{ tagName: 'a', attribute: 'href' },
|
||||
{ tagName: 'link', attribute: 'href' },
|
||||
|
||||
@@ -4,5 +4,9 @@
|
||||
"url": "/",
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0
|
||||
"level": 0,
|
||||
"options": {
|
||||
"a": "aValue",
|
||||
"b": "bValue"
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,9 @@
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "@test/components::MyVeryLongElementName"
|
||||
},
|
||||
"fakeComponents": "",
|
||||
"fakeHtml": "",
|
||||
"fakeLayout": "",
|
||||
|
||||
@@ -4,5 +4,8 @@
|
||||
"url": "/",
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "@test/components::MyEl"
|
||||
}
|
||||
}
|
||||
@@ -5,5 +5,8 @@
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "@test/components::MyEl"
|
||||
},
|
||||
"needsLoader": true
|
||||
}
|
||||
@@ -5,5 +5,8 @@
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el2": "@test/components::MyEl2"
|
||||
},
|
||||
"needsLoader": true
|
||||
}
|
||||
@@ -5,5 +5,9 @@
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el4": "@test/components/MyEl4::MyEl4",
|
||||
"my-only": "@test/components/MyOnly::MyOnly"
|
||||
},
|
||||
"needsLoader": true
|
||||
}
|
||||
@@ -4,5 +4,8 @@
|
||||
"url": "/",
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "@test/components::MyEl"
|
||||
}
|
||||
}
|
||||
@@ -5,5 +5,11 @@
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"needsLoader": true
|
||||
"components": {
|
||||
"my-el": "@test/components::MyEl"
|
||||
},
|
||||
"needsLoader": true,
|
||||
"openGraphServerComponents": {
|
||||
"my-el": "@test/components::MyEl"
|
||||
}
|
||||
}
|
||||
@@ -4,5 +4,10 @@
|
||||
"url": "/",
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "@test/components::MyEl",
|
||||
"other-el": "@test/components::OtherEl",
|
||||
"next-el": "@test/components::NextEl"
|
||||
}
|
||||
}
|
||||
@@ -5,5 +5,8 @@
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"needsLoader": true
|
||||
"needsLoader": true,
|
||||
"components": {
|
||||
"my-el": "@test/components::MyEl"
|
||||
}
|
||||
}
|
||||
@@ -6,5 +6,8 @@
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"title": "Package import specifier \"#components\" is not defined in package /Users/ff67qn/html/rocket/packages/engine/test-node/fixtures/14-components/11-start-correct-wrong-header/package.json imported from /Users/ff67qn/html/rocket/packages/engine/test-node/fixtures/14-components/11-start-correct-wrong-header/docs/index.rocket.js",
|
||||
"h1": "Package import specifier \"#components\" is not defined in package /Users/ff67qn/html/rocket/packages/engine/test-node/fixtures/14-components/11-start-correct-wrong-header/package.json imported from /Users/ff67qn/html/rocket/packages/engine/test-node/fixtures/14-components/11-start-correct-wrong-header/docs/index.rocket.js"
|
||||
"h1": "Package import specifier \"#components\" is not defined in package /Users/ff67qn/html/rocket/packages/engine/test-node/fixtures/14-components/11-start-correct-wrong-header/package.json imported from /Users/ff67qn/html/rocket/packages/engine/test-node/fixtures/14-components/11-start-correct-wrong-header/docs/index.rocket.js",
|
||||
"components": {
|
||||
"my-el": "@test/components::MyEl"
|
||||
}
|
||||
}
|
||||
@@ -4,5 +4,8 @@
|
||||
"url": "/",
|
||||
"outputRelativeFilePath": "index.html",
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "@test/components::MyEl"
|
||||
}
|
||||
}
|
||||
@@ -7,5 +7,8 @@
|
||||
"level": 0,
|
||||
"title": "Cannot read properties of undefined (reading 'not')",
|
||||
"h1": "Cannot read properties of undefined (reading 'not')",
|
||||
"needsLoader": true
|
||||
"needsLoader": true,
|
||||
"components": {
|
||||
"my-el": "@test/components::MyEl"
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "() => import('@test/components').then(m => m.MyEl)"
|
||||
"my-el": "@test/components::MyEl"
|
||||
},
|
||||
"needsLoader": true
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "() => import('@test/components').then(m => m.MyEl)"
|
||||
"my-el": "@test/components::MyEl"
|
||||
},
|
||||
"needsLoader": true
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "() => import('@test/components').then(m => m.MyEl)"
|
||||
"my-el": "@test/components::MyEl"
|
||||
},
|
||||
"needsLoader": true
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "() => import('@test/components').then(m => m.MyEl)"
|
||||
"my-el": "@test/components::MyEl"
|
||||
},
|
||||
"needsLoader": true
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "() => import('@test/components').then(m => m.MyEl)"
|
||||
"my-el": "@test/components::MyEl"
|
||||
},
|
||||
"needsLoader": true
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "() => import('@test/components').then(m => m.MyEl)"
|
||||
"my-el": "@test/components::MyEl"
|
||||
},
|
||||
"needsLoader": true
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "() => import('@test/components').then(m => m.MyEl)"
|
||||
"my-el": "@test/components::MyEl"
|
||||
},
|
||||
"needsLoader": true
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
"sourceRelativeFilePath": "index.rocket.js",
|
||||
"level": 0,
|
||||
"components": {
|
||||
"my-el": "() => import('@test/components').then(m => m.MyEl)"
|
||||
"my-el": "@test/components::MyEl"
|
||||
},
|
||||
"needsLoader": true
|
||||
}
|
||||
@@ -26,6 +26,7 @@ body {
|
||||
min-height: 100vh;
|
||||
max-width: 100vw;
|
||||
overflow-x: hidden;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
* {
|
||||
@@ -175,12 +176,6 @@ main > * {
|
||||
scroll-margin-top: 85px;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1024px) {
|
||||
main {
|
||||
z-index: 50;
|
||||
}
|
||||
}
|
||||
|
||||
.content-footer {
|
||||
border-top: 1px solid var(--primary-lines-color);
|
||||
margin-top: 100px;
|
||||
|
||||
@@ -463,7 +463,7 @@
|
||||
background-color: var(--markdown-table-row-odd-background-color, #f6f8fa);
|
||||
}
|
||||
|
||||
.markdown-body img {
|
||||
.markdown-body img, .markdown-body video {
|
||||
box-sizing: content-box;
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
|
||||
@@ -17,6 +17,7 @@ html {
|
||||
|
||||
/* typography */
|
||||
--text-color: black;
|
||||
--text-color-lighter: #616e7c;
|
||||
--primary-font-family: 'Rubik', sans-serif;
|
||||
--secondary-font-family: 'Montserrat', sans-serif;
|
||||
--monospace-font-family: 'SFMono-Regular', 'Consolas', 'Liberation Mono', 'Menlo', 'Courier', monospace;
|
||||
|
||||
1
packages/launch/exports/blog-details.js
Normal file
1
packages/launch/exports/blog-details.js
Normal file
@@ -0,0 +1 @@
|
||||
export { LaunchBlogDetails } from '../src/blog/LaunchBlogDetails.js';
|
||||
1
packages/launch/exports/blog-overview.js
Normal file
1
packages/launch/exports/blog-overview.js
Normal file
@@ -0,0 +1 @@
|
||||
export { LaunchBlogOverview } from '../src/blog/LaunchBlogOverview.js';
|
||||
1
packages/launch/exports/blog-preview.js
Normal file
1
packages/launch/exports/blog-preview.js
Normal file
@@ -0,0 +1 @@
|
||||
export { LaunchBlogPreview } from '../src/blog/LaunchBlogPreview.js';
|
||||
@@ -1,3 +1,6 @@
|
||||
export const launchComponents = {
|
||||
'launch-home': '@rocket/launch/home.js::LaunchHome',
|
||||
'launch-blog-overview': '@rocket/launch/blog-overview.js::LaunchBlogOverview',
|
||||
'launch-blog-preview': '@rocket/launch/blog-preview.js::LaunchBlogPreview',
|
||||
'launch-blog-details': '@rocket/launch/blog-details.js::LaunchBlogDetails',
|
||||
};
|
||||
|
||||
1
packages/launch/exports/content.js
Normal file
1
packages/launch/exports/content.js
Normal file
@@ -0,0 +1 @@
|
||||
export { LaunchContent } from '../src/content/LaunchContent.js';
|
||||
26
packages/launch/src/LayoutBlogPost.js
Normal file
26
packages/launch/src/LayoutBlogPost.js
Normal file
@@ -0,0 +1,26 @@
|
||||
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
||||
import { renderJoiningGroup, TableOfContentsMenu } from '@rocket/engine';
|
||||
import { html } from 'lit';
|
||||
import { LayoutMain } from './LayoutMain.js';
|
||||
|
||||
export class LayoutBlogPost extends LayoutMain {
|
||||
renderContent() {
|
||||
return html`
|
||||
<content-area>
|
||||
<main-content>
|
||||
<main class="markdown-body">
|
||||
${renderJoiningGroup('content', this.options, this.data)}
|
||||
</main>
|
||||
<aside slot="toc">
|
||||
${this.options.pageTree.renderMenu(
|
||||
new TableOfContentsMenu(),
|
||||
this.data.sourceRelativeFilePath,
|
||||
)}
|
||||
|
||||
<launch-blog-details .data=${this.getCurrentPageData()}></launch-blog-details>
|
||||
</aside>
|
||||
</main-content>
|
||||
</content-area>
|
||||
`;
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
||||
import { renderJoiningGroup } from '@rocket/engine';
|
||||
import { html, nothing } from 'lit';
|
||||
import { LayoutSidebar } from './LayoutSidebar.js';
|
||||
import { LayoutMain } from './LayoutMain.js';
|
||||
|
||||
export class LayoutHome extends LayoutSidebar {
|
||||
export class LayoutHome extends LayoutMain {
|
||||
/** @type {import('../types/layout.js').LayoutHomeOptions} */
|
||||
options = {
|
||||
...this.options,
|
||||
@@ -12,7 +12,7 @@ export class LayoutHome extends LayoutSidebar {
|
||||
${this.options.socialLinks.map(
|
||||
socialLink => html`
|
||||
<rocket-social-link
|
||||
dark-background
|
||||
?dark-background=${this.options.headerDarkBackground}
|
||||
url="${socialLink.url}"
|
||||
name="${socialLink.name}"
|
||||
siteName=${this.options.siteName}
|
||||
@@ -23,17 +23,18 @@ export class LayoutHome extends LayoutSidebar {
|
||||
`,
|
||||
content__600: () => nothing,
|
||||
content__650: () => nothing,
|
||||
headerHideLogo: true,
|
||||
headerNoBackground: true,
|
||||
headerNotSticky: true,
|
||||
headerDarkBackground: true,
|
||||
};
|
||||
|
||||
renderHeader() {
|
||||
return html`
|
||||
<rocket-header hide-logo no-background not-sticky dark-background>
|
||||
${renderJoiningGroup('header', this.options, this.data)}
|
||||
<rocket-drawer slot="mobile-menu" loading="hydrate:onMedia('(max-width: 1024px)')">
|
||||
<div class="drawer">${renderJoiningGroup('drawer', this.options, this.data)}</div>
|
||||
</rocket-drawer>
|
||||
</rocket-header>
|
||||
`;
|
||||
/**
|
||||
* @param {import('../types/layout.js').LayoutHomeOptions} options
|
||||
*/
|
||||
constructor(options) {
|
||||
super(options);
|
||||
this.options = { ...this.options, ...options };
|
||||
}
|
||||
|
||||
renderContent() {
|
||||
|
||||
288
packages/launch/src/LayoutMain.js
Normal file
288
packages/launch/src/LayoutMain.js
Normal file
@@ -0,0 +1,288 @@
|
||||
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
||||
import {
|
||||
Layout,
|
||||
renderJoiningGroup,
|
||||
SiteMenu,
|
||||
IndexMenu,
|
||||
NextMenu,
|
||||
PreviousMenu,
|
||||
TableOfContentsMenu,
|
||||
} from '@rocket/engine';
|
||||
import { html, nothing } from 'lit';
|
||||
// @ts-ignore
|
||||
import { pageDefaults } from '@rocket/components';
|
||||
|
||||
export class LayoutMain extends Layout {
|
||||
/**
|
||||
* Options for this layout.
|
||||
*
|
||||
* ⚠️ changes effect all following pages using this layout
|
||||
* => mostly useful in recursive.data.js and local.data.js files
|
||||
*
|
||||
* If you want to change only the current page, use `setPageOptions`
|
||||
*
|
||||
* Example: append html to sidebar only for this page
|
||||
* @example
|
||||
* layout.setPageOptions(sourceRelativeFilePath,
|
||||
* {
|
||||
* sidebar__70: html`
|
||||
* <p>appended only on this page</p>
|
||||
* `
|
||||
* }
|
||||
* );
|
||||
*
|
||||
* @type {import('../types/layout.js').LayoutSidebarOptions}
|
||||
*/
|
||||
options = {
|
||||
...this.options,
|
||||
...pageDefaults({ ...this.options }),
|
||||
bodyClasses: {
|
||||
...this.options.bodyClasses,
|
||||
},
|
||||
headerHideLogo: false,
|
||||
headerNoBackground: false,
|
||||
headerNotSticky: false,
|
||||
headerDarkBackground: false,
|
||||
dsdPending: true,
|
||||
siteName: 'Rocket',
|
||||
logoSrc: '/icon.svg',
|
||||
logoAlt: 'Rocket Logo',
|
||||
gitSiteUrl: 'https://github.com/modernweb-dev/rocket',
|
||||
gitBranch: 'next',
|
||||
description: 'A static site generator for modern web development',
|
||||
socialLinks: [
|
||||
{
|
||||
name: 'GitHub',
|
||||
url: 'https://github.com/modernweb-dev/rocket',
|
||||
},
|
||||
{
|
||||
name: 'Slack',
|
||||
url: 'https://join.slack.com/t/lit-and-friends/shared_invite/zt-llwznvsy-LZwT13R66gOgnrg12PUGqw',
|
||||
},
|
||||
{
|
||||
name: 'Discord',
|
||||
url: 'https://discord.gg/sTdpM2rkKJ',
|
||||
},
|
||||
],
|
||||
footerMenu: [],
|
||||
titleWrapperFn: title => `${title} | ${this.options.siteName}`,
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {string} sourceRelativeFilePath
|
||||
* @param {Partial<import('../types/layout.js').LayoutSidebarOptions>} options
|
||||
*/
|
||||
setPageOptions(sourceRelativeFilePath, options) {
|
||||
super.setPageOptions(sourceRelativeFilePath, options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Partial<import('../types/layout.js').LayoutSidebarOptions>} options
|
||||
*/
|
||||
constructor(options) {
|
||||
super(options);
|
||||
// @ts-ignore
|
||||
this.options = { ...this.options, ...options };
|
||||
|
||||
// set it in two passes so we can us the values above in the templates
|
||||
this.options = {
|
||||
...this.options,
|
||||
|
||||
head__10: data => {
|
||||
const description = data.description ? data.description : this.options.description;
|
||||
const title = this.options.titleWrapperFn(
|
||||
// @ts-ignore
|
||||
this.options.pageTree.getPage(data.sourceRelativeFilePath)?.model?.name,
|
||||
);
|
||||
return html`
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="color-scheme" content="light" />
|
||||
|
||||
<title-server-only>${title}</title-server-only>
|
||||
<meta property="og:title" content="${title}" />
|
||||
|
||||
<meta name="generator" content="rocket 0.1" />
|
||||
|
||||
<meta name="description" content="${description}" />
|
||||
<meta property="og:description" content="${description}" />
|
||||
|
||||
<link rel="canonical" href="${data.url}" />
|
||||
<meta property="og:url" content="${data.url}" />
|
||||
`;
|
||||
},
|
||||
head__20: html`
|
||||
<link rel="icon" href="/favicon.ico" sizes="any" /><!-- 32x32 -->
|
||||
<link rel="icon" href="/icon.svg" type="image/svg+xml" />
|
||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png" /><!-- 180x180 -->
|
||||
<link rel="manifest" href="/site.webmanifest" />
|
||||
`,
|
||||
head__30: html`
|
||||
<meta property="og:site_name" content="${this.options.siteName}" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
`,
|
||||
head__40: html`
|
||||
<link
|
||||
rel="preload"
|
||||
href="/fonts/Rubik-VariableFont_wght.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin
|
||||
fetchpriority="low"
|
||||
/>
|
||||
|
||||
<link rel="stylesheet" href="resolve:@rocket/launch/css/variables.css" />
|
||||
<link rel="stylesheet" href="resolve:@rocket/launch/css/layout.css" />
|
||||
<link rel="stylesheet" href="resolve:@rocket/launch/css/markdown.css" />
|
||||
`,
|
||||
|
||||
head__50: html`
|
||||
<style>
|
||||
body[dsd-pending] {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
`,
|
||||
|
||||
header__10: html`
|
||||
<a class="logo-link" href="/" slot="logo">
|
||||
<img src="/icon.svg" alt="${this.options.logoAlt}" />
|
||||
<span>${this.options.siteName}</span>
|
||||
</a>
|
||||
`,
|
||||
|
||||
header__50: data =>
|
||||
this.options.pageTree.renderMenu(new SiteMenu(), data.sourceRelativeFilePath),
|
||||
|
||||
header__60: () =>
|
||||
html`
|
||||
${this.options.socialLinks.map(
|
||||
socialLink => html`
|
||||
<rocket-social-link
|
||||
url="${socialLink.url}"
|
||||
name="${socialLink.name}"
|
||||
siteName=${this.options.siteName}
|
||||
slot="social"
|
||||
></rocket-social-link>
|
||||
`,
|
||||
)}
|
||||
`,
|
||||
|
||||
drawer__10: html`
|
||||
<a class="logo-link" href="/">
|
||||
<img src="${this.options.logoSrc}" alt="${this.options.logoAlt}" />
|
||||
<span>${this.options.siteName}</span>
|
||||
</a>
|
||||
`,
|
||||
|
||||
drawer__20: html`
|
||||
<div class="drawer-social">
|
||||
${this.options.socialLinks.map(
|
||||
socialLink => html`
|
||||
<rocket-social-link
|
||||
url="${socialLink.url}"
|
||||
name="${socialLink.name}"
|
||||
siteName=${this.options.siteName}
|
||||
></rocket-social-link>
|
||||
`,
|
||||
)}
|
||||
</div>
|
||||
`,
|
||||
|
||||
drawer__50: data =>
|
||||
this.options.pageTree.renderMenu(new IndexMenu(), data.sourceRelativeFilePath),
|
||||
|
||||
sidebar__100: data =>
|
||||
this.options.pageTree.renderMenu(new IndexMenu(), data.sourceRelativeFilePath),
|
||||
|
||||
content__600: data => html`
|
||||
<div class="content-previous-next">
|
||||
${this.options.pageTree.renderMenu(new PreviousMenu(), data.sourceRelativeFilePath)}
|
||||
${this.options.pageTree.renderMenu(new NextMenu(), data.sourceRelativeFilePath)}
|
||||
</div>
|
||||
`,
|
||||
|
||||
content__650: data => html`
|
||||
<div class="content-footer">
|
||||
<p>
|
||||
Caught a mistake or want to contribute to the documentation?
|
||||
<a
|
||||
href="${this.options.gitSiteUrl}/edit/${this.options
|
||||
.gitBranch}/site/pages/${data.sourceRelativeFilePath}"
|
||||
>Edit this page on GitHub!</a
|
||||
>
|
||||
</p>
|
||||
</div>
|
||||
`,
|
||||
|
||||
footer__100: html`
|
||||
<div id="footer-menu">
|
||||
${this.options.footerMenu.map(
|
||||
category => html`
|
||||
<nav>
|
||||
<h3>${category.name}</h3>
|
||||
<ul>
|
||||
${category.children.map(
|
||||
entry => html`
|
||||
<li>
|
||||
<a href="${entry.href}">${entry.text}</a>
|
||||
</li>
|
||||
`,
|
||||
)}
|
||||
</ul>
|
||||
</nav>
|
||||
`,
|
||||
)}
|
||||
</div>
|
||||
`,
|
||||
|
||||
// @ts-ignore
|
||||
bottom__60: data => {
|
||||
if (data.renderMode === 'production') {
|
||||
return html`<script
|
||||
type="module"
|
||||
src="resolve:@rocket/launch/js/register-service-worker.js"
|
||||
></script>`;
|
||||
}
|
||||
return nothing;
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
renderHeader() {
|
||||
return html`
|
||||
<content-area>
|
||||
<rocket-header
|
||||
?hide-logo=${this.options.headerHideLogo}
|
||||
?no-background=${this.options.headerNoBackground}
|
||||
?not-sticky=${this.options.headerNotSticky}
|
||||
?dark-background=${this.options.headerDarkBackground}
|
||||
>
|
||||
${renderJoiningGroup('header', this.options, this.data)}
|
||||
<rocket-drawer slot="mobile-menu" loading="hydrate:onMedia('(max-width: 1024px)')">
|
||||
<div class="drawer">${renderJoiningGroup('drawer', this.options, this.data)}</div>
|
||||
</rocket-drawer>
|
||||
</rocket-header>
|
||||
</content-area>
|
||||
`;
|
||||
}
|
||||
|
||||
renderContent() {
|
||||
return html`
|
||||
<content-area>
|
||||
<main-content>
|
||||
<main class="markdown-body">
|
||||
${renderJoiningGroup('content', this.options, this.data)}
|
||||
</main>
|
||||
<aside slot="toc">
|
||||
${this.options.pageTree.renderMenu(
|
||||
new TableOfContentsMenu(),
|
||||
this.data.sourceRelativeFilePath,
|
||||
)}
|
||||
</aside>
|
||||
</main-content>
|
||||
</content-area>
|
||||
`;
|
||||
}
|
||||
}
|
||||
@@ -1,274 +1,25 @@
|
||||
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
||||
import {
|
||||
Layout,
|
||||
renderJoiningGroup,
|
||||
SiteMenu,
|
||||
IndexMenu,
|
||||
NextMenu,
|
||||
PreviousMenu,
|
||||
TableOfContentsMenu,
|
||||
} from '@rocket/engine';
|
||||
import { html, nothing } from 'lit';
|
||||
// @ts-ignore
|
||||
import { pageDefaults } from '@rocket/components';
|
||||
|
||||
export class LayoutSidebar extends Layout {
|
||||
/**
|
||||
* Options for this layout.
|
||||
*
|
||||
* ⚠️ changes effect all following pages using this layout
|
||||
* => mostly useful in recursive.data.js and local.data.js files
|
||||
*
|
||||
* If you want to change only the current page, use `setPageOptions`
|
||||
*
|
||||
* Example: append html to sidebar only for this page
|
||||
* @example
|
||||
* layout.setPageOptions(sourceRelativeFilePath,
|
||||
* {
|
||||
* sidebar__70: html`
|
||||
* <p>appended only on this page</p>
|
||||
* `
|
||||
* }
|
||||
* );
|
||||
*
|
||||
* @type {import('../types/layout.js').LayoutSidebarOptions}
|
||||
*/
|
||||
options = {
|
||||
...this.options,
|
||||
...pageDefaults({ ...this.options }),
|
||||
bodyClasses: {
|
||||
...this.options.bodyClasses,
|
||||
},
|
||||
dsdPending: true,
|
||||
siteName: 'Rocket',
|
||||
logoSrc: '/icon.svg',
|
||||
logoAlt: 'Rocket Logo',
|
||||
gitSiteUrl: 'https://github.com/modernweb-dev/rocket',
|
||||
gitBranch: 'next',
|
||||
description: 'A static site generator for modern web development',
|
||||
socialLinks: [
|
||||
{
|
||||
name: 'GitHub',
|
||||
url: 'https://github.com/modernweb-dev/rocket',
|
||||
},
|
||||
{
|
||||
name: 'Slack',
|
||||
url: 'https://join.slack.com/t/lit-and-friends/shared_invite/zt-llwznvsy-LZwT13R66gOgnrg12PUGqw',
|
||||
},
|
||||
{
|
||||
name: 'Discord',
|
||||
url: 'https://discord.gg/sTdpM2rkKJ',
|
||||
},
|
||||
],
|
||||
footerMenu: [],
|
||||
titleWrapperFn: title => `${title} | ${this.options.siteName}`,
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {string} sourceRelativeFilePath
|
||||
* @param {Partial<import('../types/layout.js').LayoutSidebarOptions>} options
|
||||
*/
|
||||
setPageOptions(sourceRelativeFilePath, options) {
|
||||
super.setPageOptions(sourceRelativeFilePath, options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Partial<import('../types/layout.js').LayoutSidebarOptions>} options
|
||||
*/
|
||||
constructor(options) {
|
||||
super(options);
|
||||
// @ts-ignore
|
||||
this.options = { ...this.options, ...options };
|
||||
|
||||
// set it in two passes so we can us the values above in the templates
|
||||
this.options = {
|
||||
...this.options,
|
||||
|
||||
head__10: data => {
|
||||
const description = data.description ? data.description : this.options.description;
|
||||
const title = this.options.titleWrapperFn(
|
||||
// @ts-ignore
|
||||
this.options.pageTree.getPage(data.sourceRelativeFilePath)?.model?.name,
|
||||
);
|
||||
return html`
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="color-scheme" content="light" />
|
||||
|
||||
<title-server-only>${title}</title-server-only>
|
||||
<meta property="og:title" content="${title}" />
|
||||
|
||||
<meta name="generator" content="rocket 0.1" />
|
||||
|
||||
<meta name="description" content="${description}" />
|
||||
<meta property="og:description" content="${description}" />
|
||||
|
||||
<link rel="canonical" href="${data.url}" />
|
||||
<meta property="og:url" content="${data.url}" />
|
||||
`;
|
||||
},
|
||||
head__20: html`
|
||||
<link rel="icon" href="/favicon.ico" sizes="any" /><!-- 32x32 -->
|
||||
<link rel="icon" href="/icon.svg" type="image/svg+xml" />
|
||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png" /><!-- 180x180 -->
|
||||
<link rel="manifest" href="/site.webmanifest" />
|
||||
`,
|
||||
head__30: html`
|
||||
<meta property="og:site_name" content="${this.options.siteName}" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
`,
|
||||
head__40: html`
|
||||
<link
|
||||
rel="preload"
|
||||
href="/fonts/Rubik-VariableFont_wght.woff2"
|
||||
as="font"
|
||||
type="font/woff2"
|
||||
crossorigin
|
||||
fetchpriority="low"
|
||||
/>
|
||||
|
||||
<link rel="stylesheet" href="resolve:@rocket/launch/css/variables.css" />
|
||||
<link rel="stylesheet" href="resolve:@rocket/launch/css/layout.css" />
|
||||
<link rel="stylesheet" href="resolve:@rocket/launch/css/markdown.css" />
|
||||
`,
|
||||
|
||||
head__50: html`
|
||||
<style>
|
||||
body[dsd-pending] {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
`,
|
||||
|
||||
header__10: html`
|
||||
<a class="logo-link" href="/" slot="logo">
|
||||
<img src="/icon.svg" alt="${this.options.logoAlt}" />
|
||||
<span>${this.options.siteName}</span>
|
||||
</a>
|
||||
`,
|
||||
|
||||
header__50: data =>
|
||||
this.options.pageTree.renderMenu(new SiteMenu(), data.sourceRelativeFilePath),
|
||||
|
||||
header__60: () =>
|
||||
html`
|
||||
${this.options.socialLinks.map(
|
||||
socialLink => html`
|
||||
<rocket-social-link
|
||||
url="${socialLink.url}"
|
||||
name="${socialLink.name}"
|
||||
siteName=${this.options.siteName}
|
||||
slot="social"
|
||||
></rocket-social-link>
|
||||
`,
|
||||
)}
|
||||
`,
|
||||
|
||||
drawer__10: html`
|
||||
<a class="logo-link" href="/">
|
||||
<img src="${this.options.logoSrc}" alt="${this.options.logoAlt}" />
|
||||
<span>${this.options.siteName}</span>
|
||||
</a>
|
||||
`,
|
||||
|
||||
drawer__20: html`
|
||||
<div class="drawer-social">
|
||||
${this.options.socialLinks.map(
|
||||
socialLink => html`
|
||||
<rocket-social-link
|
||||
url="${socialLink.url}"
|
||||
name="${socialLink.name}"
|
||||
siteName=${this.options.siteName}
|
||||
></rocket-social-link>
|
||||
`,
|
||||
)}
|
||||
</div>
|
||||
`,
|
||||
|
||||
drawer__50: data =>
|
||||
this.options.pageTree.renderMenu(new IndexMenu(), data.sourceRelativeFilePath),
|
||||
|
||||
sidebar__100: data =>
|
||||
this.options.pageTree.renderMenu(new IndexMenu(), data.sourceRelativeFilePath),
|
||||
|
||||
content__600: data => html`
|
||||
<div class="content-previous-next">
|
||||
${this.options.pageTree.renderMenu(new PreviousMenu(), data.sourceRelativeFilePath)}
|
||||
${this.options.pageTree.renderMenu(new NextMenu(), data.sourceRelativeFilePath)}
|
||||
</div>
|
||||
`,
|
||||
|
||||
content__650: data => html`
|
||||
<div class="content-footer">
|
||||
<p>
|
||||
Caught a mistake or want to contribute to the documentation?
|
||||
<a
|
||||
href="${this.options.gitSiteUrl}/edit/${this.options
|
||||
.gitBranch}/site/pages/${data.sourceRelativeFilePath}"
|
||||
>Edit this page on GitHub!</a
|
||||
>
|
||||
</p>
|
||||
</div>
|
||||
`,
|
||||
|
||||
footer__100: html`
|
||||
<div id="footer-menu">
|
||||
${this.options.footerMenu.map(
|
||||
category => html`
|
||||
<nav>
|
||||
<h3>${category.name}</h3>
|
||||
<ul>
|
||||
${category.children.map(
|
||||
entry => html`
|
||||
<li>
|
||||
<a href="${entry.href}">${entry.text}</a>
|
||||
</li>
|
||||
`,
|
||||
)}
|
||||
</ul>
|
||||
</nav>
|
||||
`,
|
||||
)}
|
||||
</div>
|
||||
`,
|
||||
|
||||
// @ts-ignore
|
||||
bottom__60: data => {
|
||||
if (data.renderMode === 'production') {
|
||||
return html`<script
|
||||
type="module"
|
||||
src="resolve:@rocket/launch/js/register-service-worker.js"
|
||||
></script>`;
|
||||
}
|
||||
return nothing;
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
renderHeader() {
|
||||
return html`
|
||||
<rocket-header>
|
||||
${renderJoiningGroup('header', this.options, this.data)}
|
||||
<rocket-drawer slot="mobile-menu" loading="hydrate:onMedia('(max-width: 1024px)')">
|
||||
<div class="drawer">${renderJoiningGroup('drawer', this.options, this.data)}</div>
|
||||
</rocket-drawer>
|
||||
</rocket-header>
|
||||
`;
|
||||
}
|
||||
import { renderJoiningGroup, TableOfContentsMenu } from '@rocket/engine';
|
||||
import { html } from 'lit';
|
||||
import { LayoutMain } from './LayoutMain.js';
|
||||
|
||||
export class LayoutSidebar extends LayoutMain {
|
||||
renderContent() {
|
||||
return html`
|
||||
<main-docs>
|
||||
<nav slot="menu">${renderJoiningGroup('sidebar', this.options, this.data)}</nav>
|
||||
<main class="markdown-body">${renderJoiningGroup('content', this.options, this.data)}</main>
|
||||
<aside slot="toc">
|
||||
${this.options.pageTree.renderMenu(
|
||||
new TableOfContentsMenu(),
|
||||
this.data.sourceRelativeFilePath,
|
||||
)}
|
||||
</aside>
|
||||
</main-docs>
|
||||
<content-area>
|
||||
<main-docs>
|
||||
<nav slot="menu">${renderJoiningGroup('sidebar', this.options, this.data)}</nav>
|
||||
<main class="markdown-body">
|
||||
${renderJoiningGroup('content', this.options, this.data)}
|
||||
</main>
|
||||
<aside slot="toc">
|
||||
${this.options.pageTree.renderMenu(
|
||||
new TableOfContentsMenu(),
|
||||
this.data.sourceRelativeFilePath,
|
||||
)}
|
||||
</aside>
|
||||
</main-docs>
|
||||
</content-area>
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
48
packages/launch/src/blog/LaunchBlogDetails.js
Normal file
48
packages/launch/src/blog/LaunchBlogDetails.js
Normal file
@@ -0,0 +1,48 @@
|
||||
import { html, css, LitElement, nothing } from 'lit';
|
||||
|
||||
export class LaunchBlogDetails extends LitElement {
|
||||
static properties = {
|
||||
data: { type: Object },
|
||||
};
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
/** @type {{ firstName: string; lastName: string; twitter: string; image: string; } | undefined} */
|
||||
this.data = undefined;
|
||||
this.dateFormatter = new Intl.DateTimeFormat('en-US', {
|
||||
year: 'numeric',
|
||||
month: 'long',
|
||||
day: 'numeric',
|
||||
});
|
||||
}
|
||||
|
||||
render() {
|
||||
if (!this.data) {
|
||||
return nothing;
|
||||
}
|
||||
return html`
|
||||
<p class="bold">Publish Date</p>
|
||||
<p>${this.dateFormatter.format(this.data.publishDate)}</p>
|
||||
<p class="bold">Authors</p>
|
||||
${this.data.authors.map(
|
||||
author => html`
|
||||
<a href="https://twitter.com/${author.twitter}">
|
||||
${author.firstName} ${author.lastName}
|
||||
</a>
|
||||
`,
|
||||
)}
|
||||
<p class="bold">Tags</p>
|
||||
<ul>
|
||||
${this.data.tags.map(tag => html` <li>${tag}</li> `)}
|
||||
</ul>
|
||||
`;
|
||||
}
|
||||
|
||||
static styles = [
|
||||
css`
|
||||
.bold {
|
||||
font-weight: 700;
|
||||
}
|
||||
`,
|
||||
];
|
||||
}
|
||||
49
packages/launch/src/blog/LaunchBlogOverview.js
Normal file
49
packages/launch/src/blog/LaunchBlogOverview.js
Normal file
@@ -0,0 +1,49 @@
|
||||
import { LitElement, html, nothing } from 'lit';
|
||||
import { LaunchBlogPreview } from './LaunchBlogPreview.js';
|
||||
|
||||
/**
|
||||
* @param {{ model: { publishDate: Date }}} a
|
||||
* @param {{ model: { publishDate: Date }}} b
|
||||
* @returns {number}
|
||||
*/
|
||||
function sortByPublishDate(a, b) {
|
||||
if (a.model.publishDate < b.model.publishDate) {
|
||||
return 1;
|
||||
}
|
||||
if (a.model.publishDate > b.model.publishDate) {
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
class BlogMenu {
|
||||
/**
|
||||
* @returns {TemplateResult | nothing}
|
||||
*/
|
||||
render() {
|
||||
if (!this.currentNode || !this.currentNode.children) {
|
||||
return nothing;
|
||||
}
|
||||
return html`
|
||||
<div>
|
||||
${this.currentNode.children
|
||||
.sort(sortByPublishDate)
|
||||
.map(
|
||||
/** @param {NodeOfPage} child */ child => html`
|
||||
<launch-blog-preview .post=${child.model}></launch-blog-preview>
|
||||
`,
|
||||
)}
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
if (customElements.get('launch-blog-preview') === undefined) {
|
||||
customElements.define('launch-blog-preview', LaunchBlogPreview);
|
||||
}
|
||||
|
||||
export class LaunchBlogOverview extends LitElement {
|
||||
render() {
|
||||
return html` ${this.pageTree.renderMenu(new BlogMenu(), this.sourceRelativeFilePath)} `;
|
||||
}
|
||||
}
|
||||
77
packages/launch/src/blog/LaunchBlogPreview.js
Normal file
77
packages/launch/src/blog/LaunchBlogPreview.js
Normal file
@@ -0,0 +1,77 @@
|
||||
import { html, css, LitElement, nothing } from 'lit';
|
||||
|
||||
export class LaunchBlogPreview extends LitElement {
|
||||
static properties = {
|
||||
post: { type: Object },
|
||||
};
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
/** @type {{ publishDate: string; title: string; description: string; url: string; } | undefined} */
|
||||
this.post = undefined;
|
||||
this.dateFormatter = new Intl.DateTimeFormat('en-US', {
|
||||
year: 'numeric',
|
||||
month: 'long',
|
||||
day: 'numeric',
|
||||
});
|
||||
}
|
||||
|
||||
render() {
|
||||
if (!this.post) {
|
||||
return nothing;
|
||||
}
|
||||
return html`
|
||||
<article class="post-preview">
|
||||
<header>
|
||||
<a href="${this.post.url}"><h1 class="title">${this.post.name}</h1></a>
|
||||
<p class="publish-date">${this.dateFormatter.format(this.post.publishDate)}</p>
|
||||
</header>
|
||||
<p>${this.post.description}</p>
|
||||
</article>
|
||||
`;
|
||||
}
|
||||
|
||||
static styles = [
|
||||
css`
|
||||
.post-preview {
|
||||
padding-bottom: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
border-bottom: 1px solid var(--primary-lines-color, #ccc);
|
||||
}
|
||||
|
||||
header {
|
||||
align-items: flex-start;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.title,
|
||||
.author,
|
||||
.publish-date {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.publish-date,
|
||||
.author {
|
||||
font-size: 1rem;
|
||||
color: var(--text-color-lighter, #ccc);
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 2.25rem;
|
||||
font-weight: 700;
|
||||
color: var(--theme-text);
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
color: var(--primary-color);
|
||||
}
|
||||
`,
|
||||
];
|
||||
}
|
||||
@@ -3,64 +3,52 @@ import { LitElement, html, css } from 'lit';
|
||||
export class LaunchHome extends LitElement {
|
||||
static properties = {
|
||||
reasons: { type: Array },
|
||||
backgroundImage: { type: Boolean, reflect: true, attribute: 'background-image' },
|
||||
};
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
/** @type {{ header: string, text: string }[]} */
|
||||
this.reasons = [];
|
||||
this.backgroundImage = false;
|
||||
}
|
||||
|
||||
render() {
|
||||
return html`
|
||||
<div id="content-area">
|
||||
<div class="page-background">
|
||||
<slot name="background"></slot>
|
||||
</div>
|
||||
<div class="page-title">
|
||||
<slot name="title"></slot>
|
||||
</div>
|
||||
<div class="page-slogan">
|
||||
<slot name="slogan"></slot>
|
||||
</div>
|
||||
<div class="call-to-action-list" role="list">
|
||||
<slot name="cta"></slot>
|
||||
</div>
|
||||
|
||||
<div class="reason-header">
|
||||
<slot name="reason-header"></slot>
|
||||
</div>
|
||||
<section class="reasons">
|
||||
${this.reasons.map(
|
||||
reason => html`
|
||||
<article>
|
||||
<h3>${reason.header}</h3>
|
||||
${reason.text}
|
||||
</article>
|
||||
`,
|
||||
)}
|
||||
</section>
|
||||
<div class="page-background">
|
||||
<slot name="background"></slot>
|
||||
</div>
|
||||
<div class="logo">
|
||||
<slot name="logo"></slot>
|
||||
</div>
|
||||
<div class="page-title">
|
||||
<slot name="title"></slot>
|
||||
</div>
|
||||
<div class="page-slogan">
|
||||
<slot name="slogan"></slot>
|
||||
</div>
|
||||
<div class="call-to-action-list" role="list">
|
||||
<slot name="cta"></slot>
|
||||
</div>
|
||||
|
||||
<div class="reason-header">
|
||||
<slot name="reason-header"></slot>
|
||||
</div>
|
||||
<section class="reasons">
|
||||
${this.reasons.map(
|
||||
reason => html`
|
||||
<article>
|
||||
<h3>${reason.header}</h3>
|
||||
${reason.text}
|
||||
</article>
|
||||
`,
|
||||
)}
|
||||
</section>
|
||||
`;
|
||||
}
|
||||
|
||||
static styles = [
|
||||
css`
|
||||
/** content-area */
|
||||
#content-area {
|
||||
padding: 0 20px;
|
||||
display: block;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
@media screen and (min-width: 1024px) {
|
||||
#content-area {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
/** CALL TO ACTION ********************************************************************************/
|
||||
.call-to-action-list {
|
||||
text-align: center;
|
||||
@@ -110,6 +98,10 @@ export class LaunchHome extends LitElement {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.logo {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.page-title {
|
||||
color: var(--primary-color);
|
||||
font-size: 32px;
|
||||
@@ -170,24 +162,24 @@ export class LaunchHome extends LitElement {
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1024px) {
|
||||
.page-title,
|
||||
.page-slogan {
|
||||
:host([background-image]) .page-title,
|
||||
:host([background-image]) .page-slogan {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.page-title {
|
||||
:host([background-image]) .page-title {
|
||||
margin-top: 110px;
|
||||
}
|
||||
|
||||
.page-slogan {
|
||||
:host([background-image]) .page-slogan {
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
.call-to-action-list {
|
||||
:host([background-image]) .call-to-action-list {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.page-background {
|
||||
:host([background-image]) .page-background {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -305px;
|
||||
|
||||
@@ -2,3 +2,5 @@ export { rocketLaunch } from './rocketLaunch.js';
|
||||
export { LayoutSidebar } from './LayoutSidebar.js';
|
||||
export { LayoutHome } from './LayoutHome.js';
|
||||
export { Layout404 } from './Layout404.js';
|
||||
export { LayoutMain } from './LayoutMain.js';
|
||||
export { LayoutBlogPost } from './LayoutBlogPost.js';
|
||||
|
||||
5
packages/launch/types/layout.d.ts
vendored
5
packages/launch/types/layout.d.ts
vendored
@@ -28,6 +28,11 @@ export interface LayoutSidebarOptions extends LayoutOptions {
|
||||
titleWrapperFn: (title: string) => string;
|
||||
pageTree: PageTree;
|
||||
|
||||
headerHideLogo: boolean;
|
||||
headerNoBackground: boolean;
|
||||
headerNotSticky: boolean;
|
||||
headerDarkBackground: boolean;
|
||||
|
||||
/**
|
||||
* Sets primary html metadata like
|
||||
* - charset
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const subTitle = 'Create your first Rocket site';
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const menuNoLink = true;
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const description = 'Learn how to structure a project with Rocket.';
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const description = `An intro to Rocket pages, which is the actual website content.`;
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -21,6 +23,7 @@ export async function registerCustomElements() {
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
customElements.define('my-counter', await import('#components/MyCounter').then(m => m.MyCounter));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const menuNoLink = true;
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const description =
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
import { inlineFile } from '@rocket/engine';
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
import { inlineFile } from '@rocket/engine';
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const description =
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const menuNoLink = true;
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
import { pageTree } from '../__shared/pageTree.js';
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('card-icon', await import('@rocket/components/card-icon.js').then(m => m.CardIcon));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
import { CardIcon } from '@rocket/components/card-icon.js';
|
||||
|
||||
@@ -10,6 +10,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const menuNoLink = true;
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
import { inlineFile } from '@rocket/engine';
|
||||
|
||||
@@ -10,6 +10,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const menuNoLink = true;
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const menuNoLink = true;
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
import { pageTree } from '../__shared/pageTree.js';
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const menuNoLink = true;
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const menuNoLink = true;
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const menuNoLink = true;
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
```
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
export const menuNoLink = true;
|
||||
|
||||
@@ -11,6 +11,8 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
|
||||
// prettier-ignore
|
||||
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
|
||||
// prettier-ignore
|
||||
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
|
||||
// hydrate-able components
|
||||
// prettier-ignore
|
||||
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
|
||||
// prettier-ignore
|
||||
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
|
||||
}
|
||||
export const needsLoader = true;
|
||||
/* END - Rocket auto generated - do not touch */
|
||||
|
||||
import { pageTree } from '../__shared/pageTree.js';
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user