@forjacms/sections 1.2.6
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/README.md +185 -0
- package/dist/cjs/a11y-IAJPjMwx.js +27 -0
- package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
- package/dist/cjs/forja-blog.cjs.entry.js +16 -0
- package/dist/cjs/forja-contact.cjs.entry.js +25 -0
- package/dist/cjs/forja-cta.cjs.entry.js +15 -0
- package/dist/cjs/forja-divider.cjs.entry.js +19 -0
- package/dist/cjs/forja-faq.cjs.entry.js +16 -0
- package/dist/cjs/forja-features.cjs.entry.js +16 -0
- package/dist/cjs/forja-footer.cjs.entry.js +38 -0
- package/dist/cjs/forja-gallery.cjs.entry.js +16 -0
- package/dist/cjs/forja-hero.cjs.entry.js +20 -0
- package/dist/cjs/forja-legal.cjs.entry.js +46 -0
- package/dist/cjs/forja-logo-cloud.cjs.entry.js +20 -0
- package/dist/cjs/forja-nav.cjs.entry.js +53 -0
- package/dist/cjs/forja-newsletter.cjs.entry.js +24 -0
- package/dist/cjs/forja-portfolio.cjs.entry.js +37 -0
- package/dist/cjs/forja-pricing.cjs.entry.js +16 -0
- package/dist/cjs/forja-projects.cjs.entry.js +16 -0
- package/dist/cjs/forja-section-renderer.cjs.entry.js +42 -0
- package/dist/cjs/forja-sections.cjs.js +25 -0
- package/dist/cjs/forja-stats.cjs.entry.js +20 -0
- package/dist/cjs/forja-tag-cloud.cjs.entry.js +16 -0
- package/dist/cjs/forja-team.cjs.entry.js +18 -0
- package/dist/cjs/forja-testimonials.cjs.entry.js +16 -0
- package/dist/cjs/forja-text-block.cjs.entry.js +22 -0
- package/dist/cjs/forja-timeline.cjs.entry.js +19 -0
- package/dist/cjs/forja-video.cjs.entry.js +30 -0
- package/dist/cjs/index-Bp-SZu2Y.js +1754 -0
- package/dist/cjs/index.cjs.js +15 -0
- package/dist/cjs/loader.cjs.js +13 -0
- package/dist/collection/collection-manifest.json +36 -0
- package/dist/collection/components/forja-blog/forja-blog.js +132 -0
- package/dist/collection/components/forja-contact/forja-contact.js +165 -0
- package/dist/collection/components/forja-cta/forja-cta.js +126 -0
- package/dist/collection/components/forja-divider/forja-divider.js +57 -0
- package/dist/collection/components/forja-faq/forja-faq.js +75 -0
- package/dist/collection/components/forja-features/forja-features.js +94 -0
- package/dist/collection/components/forja-footer/forja-footer.js +184 -0
- package/dist/collection/components/forja-gallery/forja-gallery.js +94 -0
- package/dist/collection/components/forja-hero/forja-hero.js +169 -0
- package/dist/collection/components/forja-legal/forja-legal.js +289 -0
- package/dist/collection/components/forja-logo-cloud/forja-logo-cloud.js +117 -0
- package/dist/collection/components/forja-nav/forja-nav.js +215 -0
- package/dist/collection/components/forja-newsletter/forja-newsletter.js +141 -0
- package/dist/collection/components/forja-portfolio/forja-portfolio.js +163 -0
- package/dist/collection/components/forja-pricing/forja-pricing.js +94 -0
- package/dist/collection/components/forja-projects/forja-projects.js +94 -0
- package/dist/collection/components/forja-section-renderer/forja-section-renderer.js +218 -0
- package/dist/collection/components/forja-stats/forja-stats.js +117 -0
- package/dist/collection/components/forja-tag-cloud/forja-tag-cloud.js +75 -0
- package/dist/collection/components/forja-team/forja-team.js +138 -0
- package/dist/collection/components/forja-testimonials/forja-testimonials.js +94 -0
- package/dist/collection/components/forja-text-block/forja-text-block.js +99 -0
- package/dist/collection/components/forja-timeline/forja-timeline.js +120 -0
- package/dist/collection/components/forja-video/forja-video.js +146 -0
- package/dist/collection/index.js +4 -0
- package/dist/collection/types.js +7 -0
- package/dist/collection/utils/a11y.js +22 -0
- package/dist/collection/utils/a11y.unit.js +46 -0
- package/dist/components/forja-blog.d.ts +11 -0
- package/dist/components/forja-blog.js +1 -0
- package/dist/components/forja-contact.d.ts +11 -0
- package/dist/components/forja-contact.js +1 -0
- package/dist/components/forja-cta.d.ts +11 -0
- package/dist/components/forja-cta.js +1 -0
- package/dist/components/forja-divider.d.ts +11 -0
- package/dist/components/forja-divider.js +1 -0
- package/dist/components/forja-faq.d.ts +11 -0
- package/dist/components/forja-faq.js +1 -0
- package/dist/components/forja-features.d.ts +11 -0
- package/dist/components/forja-features.js +1 -0
- package/dist/components/forja-footer.d.ts +11 -0
- package/dist/components/forja-footer.js +1 -0
- package/dist/components/forja-gallery.d.ts +11 -0
- package/dist/components/forja-gallery.js +1 -0
- package/dist/components/forja-hero.d.ts +11 -0
- package/dist/components/forja-hero.js +1 -0
- package/dist/components/forja-legal.d.ts +11 -0
- package/dist/components/forja-legal.js +1 -0
- package/dist/components/forja-logo-cloud.d.ts +11 -0
- package/dist/components/forja-logo-cloud.js +1 -0
- package/dist/components/forja-nav.d.ts +11 -0
- package/dist/components/forja-nav.js +1 -0
- package/dist/components/forja-newsletter.d.ts +11 -0
- package/dist/components/forja-newsletter.js +1 -0
- package/dist/components/forja-portfolio.d.ts +11 -0
- package/dist/components/forja-portfolio.js +1 -0
- package/dist/components/forja-pricing.d.ts +11 -0
- package/dist/components/forja-pricing.js +1 -0
- package/dist/components/forja-projects.d.ts +11 -0
- package/dist/components/forja-projects.js +1 -0
- package/dist/components/forja-section-renderer.d.ts +11 -0
- package/dist/components/forja-section-renderer.js +1 -0
- package/dist/components/forja-stats.d.ts +11 -0
- package/dist/components/forja-stats.js +1 -0
- package/dist/components/forja-tag-cloud.d.ts +11 -0
- package/dist/components/forja-tag-cloud.js +1 -0
- package/dist/components/forja-team.d.ts +11 -0
- package/dist/components/forja-team.js +1 -0
- package/dist/components/forja-testimonials.d.ts +11 -0
- package/dist/components/forja-testimonials.js +1 -0
- package/dist/components/forja-text-block.d.ts +11 -0
- package/dist/components/forja-text-block.js +1 -0
- package/dist/components/forja-timeline.d.ts +11 -0
- package/dist/components/forja-timeline.js +1 -0
- package/dist/components/forja-video.d.ts +11 -0
- package/dist/components/forja-video.js +1 -0
- package/dist/components/index.d.ts +35 -0
- package/dist/components/index.js +1 -0
- package/dist/components/p-CTbyYfdB.js +1 -0
- package/dist/components/p-DTKnQcqm.js +1 -0
- package/dist/define-all.d.ts +2 -0
- package/dist/define-all.js +24 -0
- package/dist/esm/a11y-CTbyYfdB.js +24 -0
- package/dist/esm/app-globals-DQuL1Twl.js +3 -0
- package/dist/esm/forja-blog.entry.js +14 -0
- package/dist/esm/forja-contact.entry.js +23 -0
- package/dist/esm/forja-cta.entry.js +13 -0
- package/dist/esm/forja-divider.entry.js +17 -0
- package/dist/esm/forja-faq.entry.js +14 -0
- package/dist/esm/forja-features.entry.js +14 -0
- package/dist/esm/forja-footer.entry.js +36 -0
- package/dist/esm/forja-gallery.entry.js +14 -0
- package/dist/esm/forja-hero.entry.js +18 -0
- package/dist/esm/forja-legal.entry.js +44 -0
- package/dist/esm/forja-logo-cloud.entry.js +18 -0
- package/dist/esm/forja-nav.entry.js +51 -0
- package/dist/esm/forja-newsletter.entry.js +22 -0
- package/dist/esm/forja-portfolio.entry.js +35 -0
- package/dist/esm/forja-pricing.entry.js +14 -0
- package/dist/esm/forja-projects.entry.js +14 -0
- package/dist/esm/forja-section-renderer.entry.js +40 -0
- package/dist/esm/forja-sections.js +21 -0
- package/dist/esm/forja-stats.entry.js +18 -0
- package/dist/esm/forja-tag-cloud.entry.js +14 -0
- package/dist/esm/forja-team.entry.js +16 -0
- package/dist/esm/forja-testimonials.entry.js +14 -0
- package/dist/esm/forja-text-block.entry.js +20 -0
- package/dist/esm/forja-timeline.entry.js +17 -0
- package/dist/esm/forja-video.entry.js +28 -0
- package/dist/esm/index-WdE4YutY.js +1747 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/loader.js +11 -0
- package/dist/forja-sections/forja-sections.esm.js +1 -0
- package/dist/forja-sections/index.esm.js +1 -0
- package/dist/forja-sections/p-0a820467.entry.js +1 -0
- package/dist/forja-sections/p-1b0b71f5.entry.js +1 -0
- package/dist/forja-sections/p-1e7249c1.entry.js +1 -0
- package/dist/forja-sections/p-27f014b1.entry.js +1 -0
- package/dist/forja-sections/p-2834de40.entry.js +1 -0
- package/dist/forja-sections/p-2a7f54c6.entry.js +1 -0
- package/dist/forja-sections/p-2b3d6388.entry.js +1 -0
- package/dist/forja-sections/p-4180bd91.entry.js +1 -0
- package/dist/forja-sections/p-57c10a67.entry.js +1 -0
- package/dist/forja-sections/p-6e48a255.entry.js +1 -0
- package/dist/forja-sections/p-6fa65e05.entry.js +1 -0
- package/dist/forja-sections/p-732e854c.entry.js +1 -0
- package/dist/forja-sections/p-8787f878.entry.js +1 -0
- package/dist/forja-sections/p-9b242e13.entry.js +1 -0
- package/dist/forja-sections/p-CTbyYfdB.js +1 -0
- package/dist/forja-sections/p-DQuL1Twl.js +1 -0
- package/dist/forja-sections/p-WdE4YutY.js +2 -0
- package/dist/forja-sections/p-a2cdb548.entry.js +1 -0
- package/dist/forja-sections/p-aa20264b.entry.js +1 -0
- package/dist/forja-sections/p-b5280312.entry.js +1 -0
- package/dist/forja-sections/p-c2c2e0ba.entry.js +1 -0
- package/dist/forja-sections/p-c4bccd7e.entry.js +1 -0
- package/dist/forja-sections/p-d1b739dd.entry.js +1 -0
- package/dist/forja-sections/p-d762878f.entry.js +1 -0
- package/dist/forja-sections/p-de808791.entry.js +1 -0
- package/dist/forja-sections/p-f24d6578.entry.js +1 -0
- package/dist/forja-sections/p-fd969566.entry.js +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/types/components/forja-blog/forja-blog.d.ts +10 -0
- package/dist/types/components/forja-contact/forja-contact.d.ts +13 -0
- package/dist/types/components/forja-cta/forja-cta.d.ts +9 -0
- package/dist/types/components/forja-divider/forja-divider.d.ts +5 -0
- package/dist/types/components/forja-faq/forja-faq.d.ts +7 -0
- package/dist/types/components/forja-features/forja-features.d.ts +8 -0
- package/dist/types/components/forja-footer/forja-footer.d.ts +11 -0
- package/dist/types/components/forja-gallery/forja-gallery.d.ts +8 -0
- package/dist/types/components/forja-hero/forja-hero.d.ts +11 -0
- package/dist/types/components/forja-legal/forja-legal.d.ts +35 -0
- package/dist/types/components/forja-logo-cloud/forja-logo-cloud.d.ts +9 -0
- package/dist/types/components/forja-nav/forja-nav.d.ts +23 -0
- package/dist/types/components/forja-newsletter/forja-newsletter.d.ts +11 -0
- package/dist/types/components/forja-portfolio/forja-portfolio.d.ts +13 -0
- package/dist/types/components/forja-pricing/forja-pricing.d.ts +8 -0
- package/dist/types/components/forja-projects/forja-projects.d.ts +8 -0
- package/dist/types/components/forja-section-renderer/forja-section-renderer.d.ts +13 -0
- package/dist/types/components/forja-stats/forja-stats.d.ts +9 -0
- package/dist/types/components/forja-tag-cloud/forja-tag-cloud.d.ts +7 -0
- package/dist/types/components/forja-team/forja-team.d.ts +10 -0
- package/dist/types/components/forja-testimonials/forja-testimonials.d.ts +8 -0
- package/dist/types/components/forja-text-block/forja-text-block.d.ts +7 -0
- package/dist/types/components/forja-timeline/forja-timeline.d.ts +9 -0
- package/dist/types/components/forja-video/forja-video.d.ts +11 -0
- package/dist/types/components.d.ts +1010 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/stencil-public-runtime.d.ts +1860 -0
- package/dist/types/types.d.ts +235 -0
- package/dist/types/utils/a11y.d.ts +11 -0
- package/dist/types/utils/a11y.unit.d.ts +1 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +66 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { sectionLabel } from "../../utils/a11y";
|
|
3
|
+
export class ForjaTextBlock {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.width = 'default';
|
|
6
|
+
this.alignment = 'left';
|
|
7
|
+
}
|
|
8
|
+
render() {
|
|
9
|
+
const classes = [
|
|
10
|
+
'forja-text',
|
|
11
|
+
`forja-text--${this.width}`,
|
|
12
|
+
`forja-text--${this.alignment}`,
|
|
13
|
+
].join(' ');
|
|
14
|
+
return (h("section", { key: '2cc7f40271cc449ec8b4fc88576398a0b0763aca', class: classes, "aria-label": sectionLabel(this.sectionTitle, 'Content') }, h("slot", { key: '7da4597bc3dde56e4ae4179ae871f08f332c1c7f', name: "before" }), this.sectionTitle && h("h2", { key: 'ba03ee398659bf8926d6c434012b553e430a9413', class: "forja-text__title" }, this.sectionTitle), this.text ? (h("div", { class: "forja-text__content", innerHTML: this.text })) : (h("div", { class: "forja-text__content" }, h("slot", null))), h("slot", { key: '138eeef4fa534fd22772da123bbd6b7b30c20078', name: "after" })));
|
|
15
|
+
}
|
|
16
|
+
static get is() { return "forja-text-block"; }
|
|
17
|
+
static get properties() {
|
|
18
|
+
return {
|
|
19
|
+
"sectionTitle": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"mutable": false,
|
|
22
|
+
"complexType": {
|
|
23
|
+
"original": "string",
|
|
24
|
+
"resolved": "string | undefined",
|
|
25
|
+
"references": {}
|
|
26
|
+
},
|
|
27
|
+
"required": false,
|
|
28
|
+
"optional": true,
|
|
29
|
+
"docs": {
|
|
30
|
+
"tags": [],
|
|
31
|
+
"text": ""
|
|
32
|
+
},
|
|
33
|
+
"getter": false,
|
|
34
|
+
"setter": false,
|
|
35
|
+
"reflect": false,
|
|
36
|
+
"attribute": "section-title"
|
|
37
|
+
},
|
|
38
|
+
"text": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"mutable": false,
|
|
41
|
+
"complexType": {
|
|
42
|
+
"original": "string",
|
|
43
|
+
"resolved": "string | undefined",
|
|
44
|
+
"references": {}
|
|
45
|
+
},
|
|
46
|
+
"required": false,
|
|
47
|
+
"optional": true,
|
|
48
|
+
"docs": {
|
|
49
|
+
"tags": [],
|
|
50
|
+
"text": ""
|
|
51
|
+
},
|
|
52
|
+
"getter": false,
|
|
53
|
+
"setter": false,
|
|
54
|
+
"reflect": false,
|
|
55
|
+
"attribute": "text"
|
|
56
|
+
},
|
|
57
|
+
"width": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"mutable": false,
|
|
60
|
+
"complexType": {
|
|
61
|
+
"original": "string",
|
|
62
|
+
"resolved": "string | undefined",
|
|
63
|
+
"references": {}
|
|
64
|
+
},
|
|
65
|
+
"required": false,
|
|
66
|
+
"optional": true,
|
|
67
|
+
"docs": {
|
|
68
|
+
"tags": [],
|
|
69
|
+
"text": ""
|
|
70
|
+
},
|
|
71
|
+
"getter": false,
|
|
72
|
+
"setter": false,
|
|
73
|
+
"reflect": false,
|
|
74
|
+
"attribute": "width",
|
|
75
|
+
"defaultValue": "'default'"
|
|
76
|
+
},
|
|
77
|
+
"alignment": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"mutable": false,
|
|
80
|
+
"complexType": {
|
|
81
|
+
"original": "string",
|
|
82
|
+
"resolved": "string | undefined",
|
|
83
|
+
"references": {}
|
|
84
|
+
},
|
|
85
|
+
"required": false,
|
|
86
|
+
"optional": true,
|
|
87
|
+
"docs": {
|
|
88
|
+
"tags": [],
|
|
89
|
+
"text": ""
|
|
90
|
+
},
|
|
91
|
+
"getter": false,
|
|
92
|
+
"setter": false,
|
|
93
|
+
"reflect": false,
|
|
94
|
+
"attribute": "alignment",
|
|
95
|
+
"defaultValue": "'left'"
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { sectionLabel } from "../../utils/a11y";
|
|
3
|
+
export class ForjaTimeline {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.layout = 'vertical';
|
|
6
|
+
this.showDates = true;
|
|
7
|
+
}
|
|
8
|
+
render() {
|
|
9
|
+
const hasEvents = this.events && this.events.length > 0;
|
|
10
|
+
const classes = ['forja-timeline', `forja-timeline--${this.layout}`].join(' ');
|
|
11
|
+
return (h("section", { key: 'cebf45a5dea290fa21d427394db4916b4224df54', class: classes, "aria-label": sectionLabel(this.sectionTitle, 'Timeline') }, h("slot", { key: 'cf344c1df40eb02608a4255ec4b176f9efcd0ada', name: "before" }), this.sectionTitle && h("h2", { key: 'fab8e6c374c2e57fa345d092fc9453b0e4fc16ec', class: "forja-timeline__title" }, this.sectionTitle), this.text && h("div", { key: '0282811543111b55001d8b4fbe7e02cb7d944a7e', class: "forja-timeline__text", innerHTML: this.text }), hasEvents ? (h("ol", { class: "forja-timeline__list" }, this.events.map(event => (h("li", { class: "forja-timeline__item" }, this.showDates && event.date && (h("time", { class: "forja-timeline__date" }, event.date)), h("h3", { class: "forja-timeline__event-title" }, event.title), event.text && h("div", { class: "forja-timeline__event-text", innerHTML: event.text })))))) : (h("slot", null)), h("slot", { key: 'b56de78fa2dee0850de2ef5c0ca48243f8cf6e2c', name: "after" })));
|
|
12
|
+
}
|
|
13
|
+
static get is() { return "forja-timeline"; }
|
|
14
|
+
static get properties() {
|
|
15
|
+
return {
|
|
16
|
+
"sectionTitle": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"mutable": false,
|
|
19
|
+
"complexType": {
|
|
20
|
+
"original": "string",
|
|
21
|
+
"resolved": "string | undefined",
|
|
22
|
+
"references": {}
|
|
23
|
+
},
|
|
24
|
+
"required": false,
|
|
25
|
+
"optional": true,
|
|
26
|
+
"docs": {
|
|
27
|
+
"tags": [],
|
|
28
|
+
"text": ""
|
|
29
|
+
},
|
|
30
|
+
"getter": false,
|
|
31
|
+
"setter": false,
|
|
32
|
+
"reflect": false,
|
|
33
|
+
"attribute": "section-title"
|
|
34
|
+
},
|
|
35
|
+
"text": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"mutable": false,
|
|
38
|
+
"complexType": {
|
|
39
|
+
"original": "string",
|
|
40
|
+
"resolved": "string | undefined",
|
|
41
|
+
"references": {}
|
|
42
|
+
},
|
|
43
|
+
"required": false,
|
|
44
|
+
"optional": true,
|
|
45
|
+
"docs": {
|
|
46
|
+
"tags": [],
|
|
47
|
+
"text": ""
|
|
48
|
+
},
|
|
49
|
+
"getter": false,
|
|
50
|
+
"setter": false,
|
|
51
|
+
"reflect": false,
|
|
52
|
+
"attribute": "text"
|
|
53
|
+
},
|
|
54
|
+
"events": {
|
|
55
|
+
"type": "unknown",
|
|
56
|
+
"mutable": false,
|
|
57
|
+
"complexType": {
|
|
58
|
+
"original": "TimelineEvent[]",
|
|
59
|
+
"resolved": "TimelineEvent[] | undefined",
|
|
60
|
+
"references": {
|
|
61
|
+
"TimelineEvent": {
|
|
62
|
+
"location": "import",
|
|
63
|
+
"path": "../../types",
|
|
64
|
+
"id": "src/types.ts::TimelineEvent",
|
|
65
|
+
"referenceLocation": "TimelineEvent"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"required": false,
|
|
70
|
+
"optional": true,
|
|
71
|
+
"docs": {
|
|
72
|
+
"tags": [],
|
|
73
|
+
"text": ""
|
|
74
|
+
},
|
|
75
|
+
"getter": false,
|
|
76
|
+
"setter": false
|
|
77
|
+
},
|
|
78
|
+
"layout": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"mutable": false,
|
|
81
|
+
"complexType": {
|
|
82
|
+
"original": "string",
|
|
83
|
+
"resolved": "string | undefined",
|
|
84
|
+
"references": {}
|
|
85
|
+
},
|
|
86
|
+
"required": false,
|
|
87
|
+
"optional": true,
|
|
88
|
+
"docs": {
|
|
89
|
+
"tags": [],
|
|
90
|
+
"text": ""
|
|
91
|
+
},
|
|
92
|
+
"getter": false,
|
|
93
|
+
"setter": false,
|
|
94
|
+
"reflect": false,
|
|
95
|
+
"attribute": "layout",
|
|
96
|
+
"defaultValue": "'vertical'"
|
|
97
|
+
},
|
|
98
|
+
"showDates": {
|
|
99
|
+
"type": "boolean",
|
|
100
|
+
"mutable": false,
|
|
101
|
+
"complexType": {
|
|
102
|
+
"original": "boolean",
|
|
103
|
+
"resolved": "boolean | undefined",
|
|
104
|
+
"references": {}
|
|
105
|
+
},
|
|
106
|
+
"required": false,
|
|
107
|
+
"optional": true,
|
|
108
|
+
"docs": {
|
|
109
|
+
"tags": [],
|
|
110
|
+
"text": ""
|
|
111
|
+
},
|
|
112
|
+
"getter": false,
|
|
113
|
+
"setter": false,
|
|
114
|
+
"reflect": false,
|
|
115
|
+
"attribute": "show-dates",
|
|
116
|
+
"defaultValue": "true"
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { sectionLabel } from "../../utils/a11y";
|
|
3
|
+
export class ForjaVideo {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.provider = 'youtube';
|
|
6
|
+
this.autoplay = false;
|
|
7
|
+
this.aspectRatio = '16:9';
|
|
8
|
+
}
|
|
9
|
+
getAspectClass() {
|
|
10
|
+
const ratioMap = {
|
|
11
|
+
'16:9': 'forja-video--16-9',
|
|
12
|
+
'4:3': 'forja-video--4-3',
|
|
13
|
+
'1:1': 'forja-video--1-1',
|
|
14
|
+
};
|
|
15
|
+
return ratioMap[this.aspectRatio] || 'forja-video--16-9';
|
|
16
|
+
}
|
|
17
|
+
isSelfHosted() {
|
|
18
|
+
return this.provider === 'self-hosted';
|
|
19
|
+
}
|
|
20
|
+
render() {
|
|
21
|
+
const classes = ['forja-video', this.getAspectClass()].join(' ');
|
|
22
|
+
return (h("section", { key: '8f7dd28af86bfa7a3a1418bef19e6f9658d49cc6', class: classes, "aria-label": sectionLabel(this.sectionTitle, 'Video') }, h("slot", { key: '7b34145bcee01a80095725a5adba5266dc1af703', name: "before" }), this.sectionTitle && h("h2", { key: '4959dd55b6c5e146482c14057ebeffd39c45bedd', class: "forja-video__title" }, this.sectionTitle), this.text && h("div", { key: '42af3c36bad0c44ae1194f17217e969d46a01e8d', class: "forja-video__text", innerHTML: this.text }), this.videoUrl && (h("figure", { key: 'da0c9136b339b00f4f699deb077daff0bcc48715', class: "forja-video__container" }, this.isSelfHosted() ? (h("video", { class: "forja-video__player", src: this.videoUrl, controls: true, autoplay: this.autoplay }, h("track", { kind: "captions" }))) : (h("iframe", { class: "forja-video__embed", src: this.autoplay ? `${this.videoUrl}?autoplay=1` : this.videoUrl, title: this.sectionTitle || 'Embedded video', allowFullScreen: true, loading: "lazy" })))), h("slot", { key: '9c6b4f1345c7470b773c265a9884b799218a6d5f', name: "after" })));
|
|
23
|
+
}
|
|
24
|
+
static get is() { return "forja-video"; }
|
|
25
|
+
static get properties() {
|
|
26
|
+
return {
|
|
27
|
+
"sectionTitle": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"mutable": false,
|
|
30
|
+
"complexType": {
|
|
31
|
+
"original": "string",
|
|
32
|
+
"resolved": "string | undefined",
|
|
33
|
+
"references": {}
|
|
34
|
+
},
|
|
35
|
+
"required": false,
|
|
36
|
+
"optional": true,
|
|
37
|
+
"docs": {
|
|
38
|
+
"tags": [],
|
|
39
|
+
"text": ""
|
|
40
|
+
},
|
|
41
|
+
"getter": false,
|
|
42
|
+
"setter": false,
|
|
43
|
+
"reflect": false,
|
|
44
|
+
"attribute": "section-title"
|
|
45
|
+
},
|
|
46
|
+
"text": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"mutable": false,
|
|
49
|
+
"complexType": {
|
|
50
|
+
"original": "string",
|
|
51
|
+
"resolved": "string | undefined",
|
|
52
|
+
"references": {}
|
|
53
|
+
},
|
|
54
|
+
"required": false,
|
|
55
|
+
"optional": true,
|
|
56
|
+
"docs": {
|
|
57
|
+
"tags": [],
|
|
58
|
+
"text": ""
|
|
59
|
+
},
|
|
60
|
+
"getter": false,
|
|
61
|
+
"setter": false,
|
|
62
|
+
"reflect": false,
|
|
63
|
+
"attribute": "text"
|
|
64
|
+
},
|
|
65
|
+
"videoUrl": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"mutable": false,
|
|
68
|
+
"complexType": {
|
|
69
|
+
"original": "string",
|
|
70
|
+
"resolved": "string | undefined",
|
|
71
|
+
"references": {}
|
|
72
|
+
},
|
|
73
|
+
"required": false,
|
|
74
|
+
"optional": true,
|
|
75
|
+
"docs": {
|
|
76
|
+
"tags": [],
|
|
77
|
+
"text": ""
|
|
78
|
+
},
|
|
79
|
+
"getter": false,
|
|
80
|
+
"setter": false,
|
|
81
|
+
"reflect": false,
|
|
82
|
+
"attribute": "video-url"
|
|
83
|
+
},
|
|
84
|
+
"provider": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"mutable": false,
|
|
87
|
+
"complexType": {
|
|
88
|
+
"original": "string",
|
|
89
|
+
"resolved": "string | undefined",
|
|
90
|
+
"references": {}
|
|
91
|
+
},
|
|
92
|
+
"required": false,
|
|
93
|
+
"optional": true,
|
|
94
|
+
"docs": {
|
|
95
|
+
"tags": [],
|
|
96
|
+
"text": ""
|
|
97
|
+
},
|
|
98
|
+
"getter": false,
|
|
99
|
+
"setter": false,
|
|
100
|
+
"reflect": false,
|
|
101
|
+
"attribute": "provider",
|
|
102
|
+
"defaultValue": "'youtube'"
|
|
103
|
+
},
|
|
104
|
+
"autoplay": {
|
|
105
|
+
"type": "boolean",
|
|
106
|
+
"mutable": false,
|
|
107
|
+
"complexType": {
|
|
108
|
+
"original": "boolean",
|
|
109
|
+
"resolved": "boolean | undefined",
|
|
110
|
+
"references": {}
|
|
111
|
+
},
|
|
112
|
+
"required": false,
|
|
113
|
+
"optional": true,
|
|
114
|
+
"docs": {
|
|
115
|
+
"tags": [],
|
|
116
|
+
"text": ""
|
|
117
|
+
},
|
|
118
|
+
"getter": false,
|
|
119
|
+
"setter": false,
|
|
120
|
+
"reflect": false,
|
|
121
|
+
"attribute": "autoplay",
|
|
122
|
+
"defaultValue": "false"
|
|
123
|
+
},
|
|
124
|
+
"aspectRatio": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"mutable": false,
|
|
127
|
+
"complexType": {
|
|
128
|
+
"original": "string",
|
|
129
|
+
"resolved": "string | undefined",
|
|
130
|
+
"references": {}
|
|
131
|
+
},
|
|
132
|
+
"required": false,
|
|
133
|
+
"optional": true,
|
|
134
|
+
"docs": {
|
|
135
|
+
"tags": [],
|
|
136
|
+
"text": ""
|
|
137
|
+
},
|
|
138
|
+
"getter": false,
|
|
139
|
+
"setter": false,
|
|
140
|
+
"reflect": false,
|
|
141
|
+
"attribute": "aspect-ratio",
|
|
142
|
+
"defaultValue": "'16:9'"
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ARIA and accessibility helpers for section components.
|
|
3
|
+
* These utilities help maintain consistent accessible markup across all sections.
|
|
4
|
+
*/
|
|
5
|
+
/** Build an aria-label from a title, falling back to a generic section description. */
|
|
6
|
+
export function sectionLabel(title, fallback) {
|
|
7
|
+
return (title === null || title === void 0 ? void 0 : title.trim()) || fallback;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Generate a unique ID for linking headings to their content.
|
|
11
|
+
* Uses a slug derived from the title, or a random suffix if no title is provided.
|
|
12
|
+
*/
|
|
13
|
+
export function sectionId(title, prefix) {
|
|
14
|
+
if (title) {
|
|
15
|
+
const slug = title
|
|
16
|
+
.toLowerCase()
|
|
17
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
18
|
+
.replace(/^-|-$/g, '');
|
|
19
|
+
return `${prefix}-${slug}`;
|
|
20
|
+
}
|
|
21
|
+
return `${prefix}-${Math.random().toString(36).slice(2, 8)}`;
|
|
22
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { describe, it, expect, vi } from "vitest";
|
|
2
|
+
import { sectionId, sectionLabel } from "./a11y";
|
|
3
|
+
describe('sectionLabel', () => {
|
|
4
|
+
it('returns title when provided', () => {
|
|
5
|
+
expect(sectionLabel('My Section', 'fallback')).toBe('My Section');
|
|
6
|
+
});
|
|
7
|
+
it('returns fallback when title is undefined', () => {
|
|
8
|
+
expect(sectionLabel(undefined, 'fallback')).toBe('fallback');
|
|
9
|
+
});
|
|
10
|
+
it('returns fallback when title is empty string', () => {
|
|
11
|
+
expect(sectionLabel('', 'fallback')).toBe('fallback');
|
|
12
|
+
});
|
|
13
|
+
it('returns fallback when title is only whitespace', () => {
|
|
14
|
+
expect(sectionLabel(' ', 'fallback')).toBe('fallback');
|
|
15
|
+
});
|
|
16
|
+
it('trims title whitespace', () => {
|
|
17
|
+
expect(sectionLabel(' Hello World ', 'fallback')).toBe('Hello World');
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
describe('sectionId', () => {
|
|
21
|
+
it('generates slug from title', () => {
|
|
22
|
+
expect(sectionId('Hello World', 'section')).toBe('section-hello-world');
|
|
23
|
+
});
|
|
24
|
+
it('handles special characters', () => {
|
|
25
|
+
expect(sectionId('FAQ & Pricing!', 'section')).toBe('section-faq-pricing');
|
|
26
|
+
});
|
|
27
|
+
it('strips leading and trailing hyphens from slug', () => {
|
|
28
|
+
expect(sectionId('--Hello--', 'section')).toBe('section-hello');
|
|
29
|
+
});
|
|
30
|
+
it('generates random suffix when title is undefined', () => {
|
|
31
|
+
const id = sectionId(undefined, 'section');
|
|
32
|
+
expect(id).toMatch(/^section-[a-z0-9]+$/);
|
|
33
|
+
});
|
|
34
|
+
it('uses prefix in generated ID', () => {
|
|
35
|
+
const id = sectionId(undefined, 'hero');
|
|
36
|
+
expect(id).toMatch(/^hero-/);
|
|
37
|
+
});
|
|
38
|
+
it('random suffix is 6 chars from base-36', () => {
|
|
39
|
+
vi.spyOn(Math, 'random').mockReturnValue(0.123456789);
|
|
40
|
+
const id = sectionId(undefined, 'section');
|
|
41
|
+
const suffix = id.replace('section-', '');
|
|
42
|
+
expect(suffix).toHaveLength(6);
|
|
43
|
+
expect(suffix).toMatch(/^[a-z0-9]+$/);
|
|
44
|
+
vi.restoreAllMocks();
|
|
45
|
+
});
|
|
46
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface ForjaBlog extends Components.ForjaBlog, HTMLElement {}
|
|
4
|
+
export const ForjaBlog: {
|
|
5
|
+
prototype: ForjaBlog;
|
|
6
|
+
new (): ForjaBlog;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e,p as s,H as a,h as t}from"./p-DTKnQcqm.js";import{s as o}from"./p-CTbyYfdB.js";const l=s(class extends a{constructor(e){super(),!1!==e&&this.__registerHost()}render(){const e=this.posts&&this.posts.length>0;return t("section",{key:"2e07ceebf04b3741b7a9e9003ca4cb4c227b1f53",class:"forja-blog","aria-label":o(this.sectionTitle,"Blog")},t("slot",{key:"fa89312e96a5a9d76f9ecb35a2b884b86c724136",name:"before"}),this.sectionTitle&&t("h2",{key:"e2b67b101f958249015d16d3875ad4ef2045f5a9",class:"forja-blog__title"},this.sectionTitle),this.text&&t("div",{key:"cfb8fe068f2ca902ebee227ff919b69a3c6e28f2",class:"forja-blog__text",innerHTML:this.text}),e?t("div",{class:"forja-blog__grid",role:"list","data-columns":this.columns},this.posts.map((e=>t("article",{class:"forja-blog__card",role:"listitem"},e.imageUrl&&t("a",{href:e.href,class:"forja-blog__image-link"},t("img",{src:e.imageUrl,alt:"",class:"forja-blog__image",loading:"lazy"})),t("div",{class:"forja-blog__content"},(e.date||e.author)&&t("div",{class:"forja-blog__meta"},e.date&&t("time",{class:"forja-blog__date"},e.date),e.author&&t("span",{class:"forja-blog__author"},e.author)),t("h3",{class:"forja-blog__post-title"},e.href?t("a",{href:e.href,class:"forja-blog__link"},e.title):e.title),e.excerpt&&t("div",{class:"forja-blog__excerpt",innerHTML:e.excerpt})))))):t("slot",null),this.buttonText&&this.buttonHref&&t("div",{key:"d30200ce9a72871b17c225446e511c9792e541f1",class:"forja-blog__footer"},t("a",{key:"42eb53eb15ec8a2c88cf7bf29a425b5e0c074c28",href:this.buttonHref,class:"forja-blog__cta"},this.buttonText)),t("slot",{key:"fc9ac4b7e88a64eb401abbec1cc5e93f9dea0455",name:"after"}))}},[260,"forja-blog",{sectionTitle:[1,"section-title"],text:[1],posts:[16],columns:[2],buttonText:[1,"button-text"],buttonHref:[1,"button-href"]}]);function c(){"undefined"!=typeof customElements&&["forja-blog"].forEach((s=>{"forja-blog"===s&&(customElements.get(e(s))||customElements.define(e(s),l))}))}c();const f=l,r=c;export{f as ForjaBlog,r as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface ForjaContact extends Components.ForjaContact, HTMLElement {}
|
|
4
|
+
export const ForjaContact: {
|
|
5
|
+
prototype: ForjaContact;
|
|
6
|
+
new (): ForjaContact;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t,p as a,H as e,c,h as o}from"./p-DTKnQcqm.js";import{a as s,s as n}from"./p-CTbyYfdB.js";const i=a(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.forjaSubmit=c(this,"forjaSubmit"),this.handleSubmit=t=>{t.preventDefault(),this.forjaSubmit.emit(new FormData(t.target))}}render(){const t=this.fields&&this.fields.length>0;return o("section",{key:"15bb71d6aa6d3d73c85ab4cdd7346696f3145074",class:"forja-contact","aria-label":n(this.sectionTitle,"Contact")},o("slot",{key:"63820a89dd1c9812dc0b931fd8ce7b17a7b1782e",name:"before"}),o("div",{key:"b74c9c884de525c6a08a92c982f0a1c8a2235c02",class:"forja-contact__content"},this.sectionTitle&&o("h2",{key:"53014e550127a34a191adcef4b8eaa3b01dfec7a",class:"forja-contact__title"},this.sectionTitle),this.text&&o("div",{key:"38d9ff63e255d33328da1113a3b7f2fe82871a23",class:"forja-contact__text",innerHTML:this.text}),this.buttonText&&this.buttonHref&&o("a",{key:"15ebb06b95b3cb6d58fb3d4caaa1e713126a201a",href:this.buttonHref,class:"forja-contact__cta"},this.buttonText)),t?o("form",{class:"forja-contact__form",action:this.formAction,method:this.formAction?"post":void 0,onSubmit:this.handleSubmit},this.fields.map((t=>{const a=s(t.name,"contact");return o("div",{class:"forja-contact__field"},o("label",{class:"forja-contact__label",htmlFor:a},t.label,t.required&&o("span",{"aria-hidden":"true"}," *")),"textarea"===t.type?o("textarea",{id:a,name:t.name,class:"forja-contact__input forja-contact__input--textarea",required:t.required,"aria-required":t.required?"true":void 0,placeholder:t.placeholder}):o("input",{id:a,name:t.name,type:t.type,class:"forja-contact__input",required:t.required,"aria-required":t.required?"true":void 0,placeholder:t.placeholder}))})),o("button",{type:"submit",class:"forja-contact__submit"},this.buttonText||"Send")):o("slot",null),o("slot",{key:"7ec1b5c2ee966906cbd6fa05a2c8a5a2ca13d7e2",name:"after"}))}},[260,"forja-contact",{sectionTitle:[1,"section-title"],text:[1],buttonText:[1,"button-text"],buttonHref:[1,"button-href"],fields:[16],formAction:[1,"form-action"]}]);function r(){"undefined"!=typeof customElements&&["forja-contact"].forEach((a=>{"forja-contact"===a&&(customElements.get(t(a))||customElements.define(t(a),i))}))}r();const d=i,f=r;export{d as ForjaContact,f as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface ForjaCta extends Components.ForjaCta, HTMLElement {}
|
|
4
|
+
export const ForjaCta: {
|
|
5
|
+
prototype: ForjaCta;
|
|
6
|
+
new (): ForjaCta;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t,p as a,H as e,h as s}from"./p-DTKnQcqm.js";import{s as c}from"./p-CTbyYfdB.js";const f=a(class extends e{constructor(t){super(),!1!==t&&this.__registerHost()}render(){return s("section",{key:"446ccf4f954e159368c7824587d8a5db98a276d2",class:"forja-cta","aria-label":c(this.sectionTitle,"Call to action")},s("slot",{key:"3663547f1d3869de3c0295c8db3d2339a64c1f7b",name:"before"}),this.imageUrl&&s("img",{key:"192e4fa7564506794fbd55a77a9fd6f2c202eea7",src:this.imageUrl,alt:this.imageAlt||"",class:"forja-cta__image",loading:"lazy"}),s("div",{key:"f480a01537524bec5b2dd7faaa973776081c5ed0",class:"forja-cta__content"},this.sectionTitle&&s("h2",{key:"0baa33a4f63ea70a65da02669977b261d6ca9cbe",class:"forja-cta__title"},this.sectionTitle),this.text&&s("div",{key:"f67e87b654f0cb08f4415aa4ea2b7a39b5e0ca84",class:"forja-cta__text",innerHTML:this.text}),this.buttonText&&this.buttonHref&&s("a",{key:"bb0618dcd3fd6deb8f1ce1446167a9ff5d904f6b",href:this.buttonHref,class:"forja-cta__button"},this.buttonText)),s("slot",{key:"ff766293f87f21e4498004243d78c31d31889dfc",name:"after"}))}},[260,"forja-cta",{sectionTitle:[1,"section-title"],text:[1],buttonText:[1,"button-text"],buttonHref:[1,"button-href"],imageUrl:[1,"image-url"],imageAlt:[1,"image-alt"]}]);function o(){"undefined"!=typeof customElements&&["forja-cta"].forEach((a=>{"forja-cta"===a&&(customElements.get(t(a))||customElements.define(t(a),f))}))}o();const i=f,r=o;export{i as ForjaCta,r as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface ForjaDivider extends Components.ForjaDivider, HTMLElement {}
|
|
4
|
+
export const ForjaDivider: {
|
|
5
|
+
prototype: ForjaDivider;
|
|
6
|
+
new (): ForjaDivider;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e,p as s,H as r,h as i}from"./p-DTKnQcqm.js";const t=s(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.dividerStyle="line"}render(){const e=["forja-divider","forja-divider--"+this.dividerStyle].join(" ");return this.label?i("div",{class:e,role:"separator","aria-label":this.label},i("span",{class:"forja-divider__label"},this.label)):i("hr",{class:e})}},[0,"forja-divider",{dividerStyle:[1,"divider-style"],label:[1]}]);function d(){"undefined"!=typeof customElements&&["forja-divider"].forEach((s=>{"forja-divider"===s&&(customElements.get(e(s))||customElements.define(e(s),t))}))}d();const o=t,a=d;export{o as ForjaDivider,a as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface ForjaFaq extends Components.ForjaFaq, HTMLElement {}
|
|
4
|
+
export const ForjaFaq: {
|
|
5
|
+
prototype: ForjaFaq;
|
|
6
|
+
new (): ForjaFaq;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e,p as s,H as a,h as t}from"./p-DTKnQcqm.js";import{s as f}from"./p-CTbyYfdB.js";const o=s(class extends a{constructor(e){super(),!1!==e&&this.__registerHost()}render(){const e=this.items&&this.items.length>0;return t("section",{key:"94a1ad63276f33116d60bc7e6c00445754a4e7da",class:"forja-faq","aria-label":f(this.sectionTitle,"Frequently asked questions")},t("slot",{key:"4b33e56d9cd117bcfc07583a2c58a89d07be50dd",name:"before"}),this.sectionTitle&&t("h2",{key:"c47444fed71889ea5a693d623513328f87e6f16e",class:"forja-faq__title"},this.sectionTitle),this.text&&t("div",{key:"a7992070168b9f081dbb11689cf4e333fbf75413",class:"forja-faq__text",innerHTML:this.text}),t("div",{class:"forja-faq__list"},e?this.items.map((e=>t("details",{class:"forja-faq__item"},t("summary",{class:"forja-faq__question"},e.question),t("div",{class:"forja-faq__answer",innerHTML:e.answer})))):t("slot",null)),t("slot",{key:"77bac4fe776da5ecb301ad5bdb270e1823329f81",name:"after"}))}},[260,"forja-faq",{sectionTitle:[1,"section-title"],text:[1],items:[16]}]);function c(){"undefined"!=typeof customElements&&["forja-faq"].forEach((s=>{"forja-faq"===s&&(customElements.get(e(s))||customElements.define(e(s),o))}))}c();const i=o,r=c;export{i as ForjaFaq,r as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface ForjaFeatures extends Components.ForjaFeatures, HTMLElement {}
|
|
4
|
+
export const ForjaFeatures: {
|
|
5
|
+
prototype: ForjaFeatures;
|
|
6
|
+
new (): ForjaFeatures;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e,p as s,H as t,h as a}from"./p-DTKnQcqm.js";import{s as r}from"./p-CTbyYfdB.js";const f=s(class extends t{constructor(e){super(),!1!==e&&this.__registerHost()}render(){const e=this.items&&this.items.length>0;return a("section",{key:"01434127526dac604e2542876f04c5ac88768038",class:"forja-features","aria-label":r(this.sectionTitle,"Features")},a("slot",{key:"cfc0d012020d197474abc35118b5c1191575d078",name:"before"}),(this.sectionTitle||this.text)&&a("div",{key:"a626af8e540db41d255ec2a637bd341686287a86",class:"forja-features__header"},this.sectionTitle&&a("h2",{key:"15bf163f29719490525523ff72f05566277bbcc0",class:"forja-features__title"},this.sectionTitle),this.text&&a("div",{key:"e9e05b4c08e6beb7ecca32df69daddafe2b53f1a",class:"forja-features__text",innerHTML:this.text})),e?a("ul",{class:"forja-features__grid",role:"list","data-columns":this.columns},this.items.map((e=>a("li",{class:"forja-features__item"},e.icon&&a("span",{class:"forja-features__icon","aria-hidden":"true"},e.icon),a("h3",{class:"forja-features__item-title"},e.title),e.text&&a("p",{class:"forja-features__item-text"},e.text))))):a("div",{class:"forja-features__grid",role:"list","data-columns":this.columns},a("slot",null)),a("slot",{key:"9521b8a787f3fb6907dd116b568a1da5764342fa",name:"after"}))}},[260,"forja-features",{sectionTitle:[1,"section-title"],text:[1],items:[16],columns:[2]}]);function c(){"undefined"!=typeof customElements&&["forja-features"].forEach((s=>{"forja-features"===s&&(customElements.get(e(s))||customElements.define(e(s),f))}))}c();const i=f,o=c;export{i as ForjaFeatures,o as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface ForjaFooter extends Components.ForjaFooter, HTMLElement {}
|
|
4
|
+
export const ForjaFooter: {
|
|
5
|
+
prototype: ForjaFooter;
|
|
6
|
+
new (): ForjaFooter;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e,p as a,H as o,h as t}from"./p-DTKnQcqm.js";const c={github:'<path d="M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.166 6.839 9.49.5.09.682-.217.682-.482 0-.237-.009-.866-.013-1.7-2.782.603-3.369-1.342-3.369-1.342-.454-1.155-1.11-1.462-1.11-1.462-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.088 2.91.832.091-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.578 9.578 0 0112 6.836c.85.004 1.705.114 2.504.336 1.909-1.294 2.747-1.025 2.747-1.025.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.577.688.48C19.138 20.163 22 16.418 22 12c0-5.523-4.477-10-10-10z"/>',twitter:'<path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>',x:'<path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>',linkedin:'<path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/>',youtube:'<path d="M23.498 6.186a3.016 3.016 0 00-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 00.502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 002.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 002.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/>',instagram:'<path d="M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913a5.885 5.885 0 001.384 2.126A5.868 5.868 0 004.14 23.37c.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558a5.898 5.898 0 002.126-1.384 5.86 5.86 0 001.384-2.126c.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913a5.89 5.89 0 00-1.384-2.126A5.847 5.847 0 0019.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227a3.81 3.81 0 01-.899 1.382 3.744 3.744 0 01-1.38.896c-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421a3.716 3.716 0 01-1.379-.899 3.644 3.644 0 01-.9-1.38c-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678a6.162 6.162 0 100 12.324 6.162 6.162 0 100-12.324zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405a1.441 1.441 0 11-2.882 0 1.441 1.441 0 012.882 0z"/>',mastodon:'<path d="M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 00.023-.043v-1.809a.052.052 0 00-.02-.041.053.053 0 00-.046-.01 20.282 20.282 0 01-4.709.547c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 01-.319-1.433.053.053 0 01.066-.054 19.648 19.648 0 004.622.536h.348c1.587 0 3.187-.109 4.75-.409 0-.012.035-.013.042-.017 2.1-.407 4.1-1.679 4.309-5.084.008-.138.04-1.46.04-1.602.001-.489.14-3.473-.067-5.309z"/>',bluesky:'<path d="M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.565.139 1.908 0 3.08 0 3.768c0 .69.378 5.65.624 6.479.785 2.627 3.57 3.493 6.164 3.18-3.636.58-6.84 1.996-2.678 7.035 4.956 5.048 6.564-.485 7.89-3.597.064-.15.114-.266.143-.183.03-.083.08.033.143.183 1.326 3.112 2.934 8.645 7.89 3.597 4.163-5.04.958-6.455-2.678-7.035 2.593.313 5.379-.553 6.164-3.18.246-.829.624-5.789.624-6.479 0-.688-.139-1.86-.902-2.203-.66-.299-1.664-.621-4.3 1.24C16.046 4.748 13.087 8.687 12 10.8z"/>',email:'<path d="M1.5 8.67v8.58a3 3 0 003 3h15a3 3 0 003-3V8.67l-8.928 5.493a3 3 0 01-3.144 0L1.5 8.67z"/><path d="M22.5 6.908V6.75a3 3 0 00-3-3h-15a3 3 0 00-3 3v.158l9.714 5.978a1.5 1.5 0 001.572 0L22.5 6.908z"/>'};function s(e){const a=e.toLowerCase().replace(/[^a-z]/g,"");return c[a]||'<path d="M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101" stroke="currentColor" stroke-width="2" fill="none"/><path d="M10.172 13.828a4 4 0 005.656 0l4-4a4 4 0 10-5.656-5.656l-1.102 1.101" stroke="currentColor" stroke-width="2" fill="none"/>'}const r=a(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.homeHref="/",this.showRss=!0,this.showSitemap=!0,this.tagline="Built with Forja"}render(){const e=(new Date).getFullYear(),a=this.items&&this.items.length>0,o=this.socialLinks&&this.socialLinks.length>0;return t("footer",{key:"1779882162fb8ba27cdf21d26faac13638a4de83",class:"forja-footer"},t("div",{key:"b6881c29c09d4b17adc8f328694d9cd7478046c7",class:"forja-footer__content"},t("div",{key:"ba569c1ae094dce6c47bfcc85a9d0122b6b0f691",class:"forja-footer__brand"},this.siteName&&t("a",{key:"1f976458dcdec89824792d27e89177266bd3e253",href:this.homeHref,class:"forja-footer__brand-link"},this.siteName),this.tagline&&t("p",{key:"0656d9fe9946ab5f5ecc51893a62149ff754e55e",class:"forja-footer__tagline"},this.tagline)),a&&t("nav",{key:"04e7795e7294f5844f340882a74da59b0e656130",class:"forja-footer__nav","aria-label":"Footer navigation"},t("p",{key:"c4802164c33cf91b85efdb1f2fbda4028ca6809e",class:"forja-footer__nav-heading"},"Links"),t("ul",{key:"3f8e1d71d014a5fc37df4729a7357bc71f20d2de",class:"forja-footer__nav-list"},this.items.map((e=>t("li",null,t("a",{href:e.href,target:e.openInNewTab?"_blank":void 0,rel:e.openInNewTab?"noopener noreferrer":void 0,class:"forja-footer__nav-link"},e.title)))))),o&&t("div",{key:"72d42c4542ad1eca6ebc08a1d251656c9b7575e8",class:"forja-footer__social"},t("p",{key:"d78b27344cf900fb2d64106539184709331852f0",class:"forja-footer__nav-heading"},"Connect"),t("div",{key:"c1c9009bd10672fd8e19269cc6dd774985d0f7cf",class:"forja-footer__social-links",role:"list","aria-label":"Social links"},this.socialLinks.map((e=>t("a",{href:e.url,class:"forja-footer__social-link",target:"_blank",rel:"noopener noreferrer",title:e.title,role:"listitem"},t("span",{class:"forja-footer__social-icon","aria-hidden":"true",innerHTML:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="currentColor">${s(e.icon)}</svg>`}),t("span",{class:"forja-footer__sr-only"},e.title))))))),t("div",{key:"604a27ffdbc5bd7b286ca35f649fd9e72c62824f",class:"forja-footer__bottom"},t("p",{key:"93edabccfab07cacdf5570ac841e4025e58e98a2",class:"forja-footer__copyright"},"© ",e," ",this.siteName||"Site",". All rights reserved."),t("div",{key:"8fc15c5d9e76a21889ce6e8402cf711dc534e608",class:"forja-footer__bottom-links"},this.showRss&&t("a",{key:"91766e4997d76d43bbfe696eb7ba527615de82ce",href:"/rss.xml",class:"forja-footer__bottom-link","aria-label":"RSS Feed"},t("svg",{key:"c9cb4ee4546eded881660739ad8a9ef39cfb0c19",xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},t("path",{key:"e06f360397b49644dde50b094f951b00c2967171",d:"M4 11a9 9 0 0 1 9 9"}),t("path",{key:"be15bf6ec870c88719d77c50b97ba19f97fa4ba5",d:"M4 4a16 16 0 0 1 16 16"}),t("circle",{key:"fcfc19bc0c1e28b96cb0002edada579d51d57801",cx:"5",cy:"19",r:"1"}))),this.showSitemap&&t("a",{key:"c2795cf4063da2bf88b1241ddb93b1d400a1f7ec",href:"/sitemap.xml",class:"forja-footer__bottom-link"},"Sitemap"))))}},[0,"forja-footer",{siteName:[1,"site-name"],homeHref:[1,"home-href"],items:[16],socialLinks:[16],showRss:[4,"show-rss"],showSitemap:[4,"show-sitemap"],tagline:[1]}]);function f(){"undefined"!=typeof customElements&&["forja-footer"].forEach((a=>{"forja-footer"===a&&(customElements.get(e(a))||customElements.define(e(a),r))}))}f();const l=r,i=f;export{l as ForjaFooter,i as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface ForjaGallery extends Components.ForjaGallery, HTMLElement {}
|
|
4
|
+
export const ForjaGallery: {
|
|
5
|
+
prototype: ForjaGallery;
|
|
6
|
+
new (): ForjaGallery;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as a,p as e,H as s,h as t}from"./p-DTKnQcqm.js";import{s as l}from"./p-CTbyYfdB.js";const r=e(class extends s{constructor(a){super(),!1!==a&&this.__registerHost()}render(){const a=this.items&&this.items.length>0;return t("section",{key:"b895958acc335c7a586411465baa3e5f63b96298",class:"forja-gallery","aria-label":l(this.sectionTitle,"Gallery")},t("slot",{key:"b11fe68eba917a5ba6494211ebfece03088c1d12",name:"before"}),this.sectionTitle&&t("h2",{key:"fd8b6ba0c5a51a4add4d1f4bada6691efe1ccaba",class:"forja-gallery__title"},this.sectionTitle),this.text&&t("div",{key:"99e0f4a727481d965f08c6e6028bd43472908f28",class:"forja-gallery__text",innerHTML:this.text}),t("div",{class:"forja-gallery__grid",role:"list","data-columns":this.columns},a?this.items.map((a=>t("figure",{class:"forja-gallery__item",role:"listitem"},t("img",{src:a.imageUrl,alt:a.alt||"",class:"forja-gallery__image",loading:"lazy"}),a.caption&&t("figcaption",{class:"forja-gallery__caption"},a.caption)))):t("slot",null)),t("slot",{key:"6aabc6822879290b15894b9f02b58e43205a9d75",name:"after"}))}},[260,"forja-gallery",{sectionTitle:[1,"section-title"],text:[1],items:[16],columns:[2]}]);function o(){"undefined"!=typeof customElements&&["forja-gallery"].forEach((e=>{"forja-gallery"===e&&(customElements.get(a(e))||customElements.define(a(e),r))}))}o();const i=r,c=o;export{i as ForjaGallery,c as defineCustomElement}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface ForjaHero extends Components.ForjaHero, HTMLElement {}
|
|
4
|
+
export const ForjaHero: {
|
|
5
|
+
prototype: ForjaHero;
|
|
6
|
+
new (): ForjaHero;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e,p as a,H as t,h as s}from"./p-DTKnQcqm.js";import{s as o}from"./p-CTbyYfdB.js";const r=a(class extends t{constructor(e){super(),!1!==e&&this.__registerHost()}render(){const e=["forja-hero",this.fullWidth&&"forja-hero--full-width",this.gradient&&"forja-hero--gradient"].filter(Boolean).join(" ");return s("section",{key:"43ec04aba0825c70330d5a9f22d6a7c4168cabad",class:e,"aria-label":o(this.sectionTitle,"Hero")},s("slot",{key:"be9b16694a02aee3fe1ae96ab4bdd822ad1c0b96",name:"before"}),this.imageUrl&&s("img",{key:"d41247eb3ddb7d6782f6fdbb6df7545e20c66c2b",src:this.imageUrl,alt:this.imageAlt||"",class:"forja-hero__image",loading:"eager"}),s("div",{key:"9545c4a55a85f3309a61afa5c7249ae84c183e86",class:"forja-hero__content"},this.sectionTitle&&s("h2",{key:"1f77acc32f1aae7af9d8afaabd09fc8d2a940af6",class:"forja-hero__title"},this.sectionTitle),this.text&&s("div",{key:"9d95c5669bd63d68a82206740e18edace7b22ef4",class:"forja-hero__text",innerHTML:this.text}),this.buttonText&&this.buttonHref&&s("a",{key:"ae33f3e16544486aef89a2f33e4e0361a9a1a3ca",href:this.buttonHref,class:"forja-hero__cta"},this.buttonText)),s("slot",{key:"9fce9221736717aa80332eea4b981233a896a38c",name:"after"}))}},[260,"forja-hero",{sectionTitle:[1,"section-title"],text:[1],imageUrl:[1,"image-url"],imageAlt:[1,"image-alt"],buttonText:[1,"button-text"],buttonHref:[1,"button-href"],fullWidth:[4,"full-width"],gradient:[4]}]);function f(){"undefined"!=typeof customElements&&["forja-hero"].forEach((a=>{"forja-hero"===a&&(customElements.get(e(a))||customElements.define(e(a),r))}))}f();const c=r,i=f;export{c as ForjaHero,i as defineCustomElement}
|