@gouvfr/dsfr-roller 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +21 -0
- package/README.md +11 -0
- package/index.js +5 -0
- package/package.json +65 -0
- package/src/component/component.js +50 -0
- package/src/component/components/action.js +28 -0
- package/src/component/components/breadcrumb.js +33 -0
- package/src/component/components/button.js +37 -0
- package/src/component/components/display-body.js +41 -0
- package/src/component/components/display-modal.js +29 -0
- package/src/component/components/footer.js +85 -0
- package/src/component/components/header.js +96 -0
- package/src/component/components/navigation.js +72 -0
- package/src/component/components/sidemenu.js +58 -0
- package/src/component/components/skiplink.js +49 -0
- package/src/component/components/translate.js +32 -0
- package/src/component/components/version.js +21 -0
- package/src/component/ejs/version/version.ejs +46 -0
- package/src/component/ejs/version/versions.ejs +31 -0
- package/src/component/ejs-pkg.js +6 -0
- package/src/component/render.js +19 -0
- package/src/constants.js +7 -0
- package/src/core/format-html.js +16 -0
- package/src/core/format-link.js +8 -0
- package/src/core/html-renderable.js +10 -0
- package/src/core/renderable.js +20 -0
- package/src/integration/bundler.js +47 -0
- package/src/integration/indexing/indexer.js +23 -0
- package/src/integration/indexing/sitemap.js +44 -0
- package/src/integration/redirect/redirection-type.js +4 -0
- package/src/integration/redirect/redirection.js +77 -0
- package/src/node/custom/html-container-node.js +7 -0
- package/src/node/directive/doc/accordion-container-directive.js +59 -0
- package/src/node/directive/doc/accordions-group-container-directive.js +12 -0
- package/src/node/directive/doc/anatomy-container-directive.js +61 -0
- package/src/node/directive/doc/button-leaf-directive.js +37 -0
- package/src/node/directive/doc/changelog-leaf-directive.js +238 -0
- package/src/node/directive/doc/figma-leaf-directive.js +21 -0
- package/src/node/directive/doc/guideline-container-directive.js +71 -0
- package/src/node/directive/doc/guidelines-container-directive.js +13 -0
- package/src/node/directive/doc/image-text-directive.js +13 -0
- package/src/node/directive/doc/pin-leaf-directive.js +46 -0
- package/src/node/directive/doc/storybook-leaf-directive.js +18 -0
- package/src/node/directive/doc/tab-container-directive.js +22 -0
- package/src/node/directive/doc/tab-navigation-container-directive.js +49 -0
- package/src/node/directive/doc/table-container-directive.js +56 -0
- package/src/node/directive/doc/tabs-container-directive.js +71 -0
- package/src/node/generic/blockquote-node.js +26 -0
- package/src/node/generic/break-node.js +11 -0
- package/src/node/generic/code-node.js +37 -0
- package/src/node/generic/definition-node.js +13 -0
- package/src/node/generic/emphasis-node.js +11 -0
- package/src/node/generic/heading-node.js +56 -0
- package/src/node/generic/html-node.js +11 -0
- package/src/node/generic/image-node.js +14 -0
- package/src/node/generic/image-reference-node.js +14 -0
- package/src/node/generic/inline-code-node.js +21 -0
- package/src/node/generic/link-node.js +26 -0
- package/src/node/generic/link-reference-node.js +14 -0
- package/src/node/generic/list-item-node.js +11 -0
- package/src/node/generic/list-node.js +15 -0
- package/src/node/generic/paragraph-node.js +11 -0
- package/src/node/generic/strong-node.js +11 -0
- package/src/node/generic/text-node.js +15 -0
- package/src/node/generic/thematic-break-node.js +12 -0
- package/src/node/gfm/table-body-node.js +11 -0
- package/src/node/gfm/table-cell-node.js +17 -0
- package/src/node/gfm/table-head-node.js +11 -0
- package/src/node/gfm/table-header-node.js +16 -0
- package/src/node/gfm/table-node.js +91 -0
- package/src/node/gfm/table-row-node.js +11 -0
- package/src/node/node-factory.js +128 -0
- package/src/node/node-root.js +25 -0
- package/src/node/node.js +106 -0
- package/src/page/body/custom-header.js +40 -0
- package/src/page/body/main.js +23 -0
- package/src/page/body/scheme.js +9 -0
- package/src/page/head/canonical.js +16 -0
- package/src/page/head/favicon.js +14 -0
- package/src/page/head/head.js +35 -0
- package/src/page/head/share.js +14 -0
- package/src/page/head/stylesheets.js +48 -0
- package/src/page/head/title.js +9 -0
- package/src/page/html.js +46 -0
- package/src/page/page.js +39 -0
- package/src/page/scripts/highlight.js +53 -0
- package/src/page/scripts/scripts.js +57 -0
- package/src/script/main/core/element.js +29 -0
- package/src/script/main/elements/copy-snippet.js +35 -0
- package/src/script/main/elements/searchbar.js +18 -0
- package/src/script/main/elements/storybook.js +20 -0
- package/src/script/main/index.js +10 -0
- package/src/script/search/index.js +0 -0
- package/src/style/main/components/_dsfr-doc-anatomy.scss +54 -0
- package/src/style/main/components/_dsfr-doc-code-snippet.scss +9 -0
- package/src/style/main/components/_dsfr-doc-figma-leaf.scss +6 -0
- package/src/style/main/components/_dsfr-doc-guideline.scss +58 -0
- package/src/style/main/components/_dsfr-doc-tab-navigation.scss +99 -0
- package/src/style/main/components/_dsfr-doc-version.scss +154 -0
- package/src/style/main/components/_index.scss +6 -0
- package/src/style/main/index.scss +3 -0
- package/src/style/main/third-party/_highlight.scss +227 -0
- package/src/style/main/third-party/_index.scss +1 -0
- package/src/style/main/utility/_dsfr-doc-code.scss +9 -0
- package/src/style/main/utility/_font.scss +31 -0
- package/src/style/main/utility/_icon.scss +4 -0
- package/src/style/main/utility/_index.scss +3 -0
- package/src/style/search/index.scss +0 -0
- package/src/template/template-factory.js +16 -0
- package/src/template/template.js +27 -0
- package/src/template/templates/editorial-template.js +45 -0
- package/src/template/templates/home-template.js +18 -0
- package/src/template/templates/search-template.js +20 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Renderable } from '../core/renderable.js';
|
|
2
|
+
import { nodeFactory } from '../node/node-factory.js';
|
|
3
|
+
|
|
4
|
+
class Template extends Renderable {
|
|
5
|
+
constructor (data) {
|
|
6
|
+
super(data);
|
|
7
|
+
nodeFactory.populate(data.fragments);
|
|
8
|
+
this._content = nodeFactory.create({
|
|
9
|
+
type: 'root',
|
|
10
|
+
children: data.nodes
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
get name () {
|
|
15
|
+
return this.constructor.NAME;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
async render () {
|
|
19
|
+
return await this._content.render();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
get text () {
|
|
23
|
+
return this._content.text;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { Template };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Template } from '../template.js';
|
|
2
|
+
import { Sidemenu } from '../../component/components/sidemenu.js';
|
|
3
|
+
import { Breadcrumb } from '../../component/components/breadcrumb.js';
|
|
4
|
+
|
|
5
|
+
class EditorialTemplate extends Template {
|
|
6
|
+
constructor (data) {
|
|
7
|
+
super(data);
|
|
8
|
+
|
|
9
|
+
this._hasSidemenu = data?.resource?.navigation?.sidemenu !== undefined;
|
|
10
|
+
|
|
11
|
+
if (this._hasSidemenu) this._sidemenu = new Sidemenu(data.resource.navigation.sidemenu);
|
|
12
|
+
|
|
13
|
+
this._breadcrumb = new Breadcrumb(data.breadcrumb);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
async render () {
|
|
17
|
+
const cols = [];
|
|
18
|
+
if (this._hasSidemenu) {
|
|
19
|
+
cols.push(`
|
|
20
|
+
<div class="fr-col-12 fr-col-md-4">
|
|
21
|
+
${await this._sidemenu.render()}
|
|
22
|
+
</div>
|
|
23
|
+
`);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
cols.push(`
|
|
27
|
+
<div class="fr-col-12 fr-col-md-8">
|
|
28
|
+
${await this._breadcrumb.render()}
|
|
29
|
+
${await super.render()}
|
|
30
|
+
</div>
|
|
31
|
+
`);
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
return `
|
|
35
|
+
<div class="fr-container">
|
|
36
|
+
<div class="fr-grid-row fr-grid-row--gutters fr-grid-row--center">
|
|
37
|
+
${cols.join('')}
|
|
38
|
+
</div>
|
|
39
|
+
</div>`;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
EditorialTemplate.NAME = 'editorial';
|
|
44
|
+
|
|
45
|
+
export { EditorialTemplate };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Template } from '../template.js';
|
|
2
|
+
|
|
3
|
+
class HomeTemplate extends Template {
|
|
4
|
+
constructor (data) {
|
|
5
|
+
super(data);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
async render () {
|
|
9
|
+
return `
|
|
10
|
+
<div class="fr-container">
|
|
11
|
+
${await super.render()}
|
|
12
|
+
</div>`;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
HomeTemplate.NAME = 'home';
|
|
17
|
+
|
|
18
|
+
export { HomeTemplate };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Template } from '../template.js';
|
|
2
|
+
|
|
3
|
+
class SearchTemplate extends Template {
|
|
4
|
+
constructor (data) {
|
|
5
|
+
super(data);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
async render () {
|
|
9
|
+
return `
|
|
10
|
+
<div class="fr-container">
|
|
11
|
+
<div id="results" class="dsfr-doc-results">
|
|
12
|
+
|
|
13
|
+
</div>
|
|
14
|
+
</div>`;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
SearchTemplate.NAME = 'search';
|
|
19
|
+
|
|
20
|
+
export { SearchTemplate };
|