@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,141 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { sectionLabel, sectionId } from "../../utils/a11y";
|
|
3
|
+
export class ForjaNewsletter {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.buttonText = 'Subscribe';
|
|
6
|
+
this.handleSubmit = (e) => {
|
|
7
|
+
e.preventDefault();
|
|
8
|
+
const form = e.target;
|
|
9
|
+
this.forjaSubmit.emit(new FormData(form));
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
render() {
|
|
13
|
+
const emailId = sectionId(this.sectionTitle, 'newsletter-email');
|
|
14
|
+
const nameId = sectionId(this.sectionTitle, 'newsletter-name');
|
|
15
|
+
return (h("section", { key: '2b01646d3aa10d12c9568551edc2f8836a1e6199', class: "forja-newsletter", "aria-label": sectionLabel(this.sectionTitle, 'Newsletter') }, h("slot", { key: '020fd3a2e10a86f6bec4f9499e217818c534885f', name: "before" }), this.sectionTitle && h("h2", { key: 'e540517a30deb49e8d3b1271b8099fe2c5167f02', class: "forja-newsletter__title" }, this.sectionTitle), this.text && h("div", { key: 'c31f0ad333733992f426ca1b564a609603ce7f43', class: "forja-newsletter__text", innerHTML: this.text }), h("form", { key: '08ba3a98b082670794797a08048ab1cc683aaef4', class: "forja-newsletter__form", action: this.formAction, method: this.formAction ? 'post' : undefined, onSubmit: this.handleSubmit }, this.showName && (h("div", { key: '9537213f04bdd4d2e2008a783bc70a7e7a268865', class: "forja-newsletter__field" }, h("label", { key: '8feb551b009eb8f288cbcb54b18360c9fe09a694', class: "forja-newsletter__label", htmlFor: nameId }, "Name"), h("input", { key: 'b2df119a4d000e46a8e1cfb1ab2a2514be2f28a4', id: nameId, name: "name", type: "text", class: "forja-newsletter__input" }))), h("div", { key: '7fff741fe589ee3bc7f5eb278f07dfb78a4363c1', class: "forja-newsletter__field" }, h("label", { key: '2dda48f90d5303de371101b1da09e0402291a704', class: "forja-newsletter__label", htmlFor: emailId }, "Email"), h("input", { key: '7c913bcd86483511926cd2c6df3b2d8fae202a3b', id: emailId, name: "email", type: "email", class: "forja-newsletter__input", required: true, "aria-required": "true" })), h("button", { key: '374357cafdc13172944199b9537f32fa252fa274', type: "submit", class: "forja-newsletter__submit" }, this.buttonText)), h("slot", { key: '253f3650ec3839083c2ef1a768c78627fef141b3', name: "after" })));
|
|
16
|
+
}
|
|
17
|
+
static get is() { return "forja-newsletter"; }
|
|
18
|
+
static get properties() {
|
|
19
|
+
return {
|
|
20
|
+
"sectionTitle": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"mutable": false,
|
|
23
|
+
"complexType": {
|
|
24
|
+
"original": "string",
|
|
25
|
+
"resolved": "string | undefined",
|
|
26
|
+
"references": {}
|
|
27
|
+
},
|
|
28
|
+
"required": false,
|
|
29
|
+
"optional": true,
|
|
30
|
+
"docs": {
|
|
31
|
+
"tags": [],
|
|
32
|
+
"text": ""
|
|
33
|
+
},
|
|
34
|
+
"getter": false,
|
|
35
|
+
"setter": false,
|
|
36
|
+
"reflect": false,
|
|
37
|
+
"attribute": "section-title"
|
|
38
|
+
},
|
|
39
|
+
"text": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"mutable": false,
|
|
42
|
+
"complexType": {
|
|
43
|
+
"original": "string",
|
|
44
|
+
"resolved": "string | undefined",
|
|
45
|
+
"references": {}
|
|
46
|
+
},
|
|
47
|
+
"required": false,
|
|
48
|
+
"optional": true,
|
|
49
|
+
"docs": {
|
|
50
|
+
"tags": [],
|
|
51
|
+
"text": ""
|
|
52
|
+
},
|
|
53
|
+
"getter": false,
|
|
54
|
+
"setter": false,
|
|
55
|
+
"reflect": false,
|
|
56
|
+
"attribute": "text"
|
|
57
|
+
},
|
|
58
|
+
"buttonText": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"mutable": false,
|
|
61
|
+
"complexType": {
|
|
62
|
+
"original": "string",
|
|
63
|
+
"resolved": "string | undefined",
|
|
64
|
+
"references": {}
|
|
65
|
+
},
|
|
66
|
+
"required": false,
|
|
67
|
+
"optional": true,
|
|
68
|
+
"docs": {
|
|
69
|
+
"tags": [],
|
|
70
|
+
"text": ""
|
|
71
|
+
},
|
|
72
|
+
"getter": false,
|
|
73
|
+
"setter": false,
|
|
74
|
+
"reflect": false,
|
|
75
|
+
"attribute": "button-text",
|
|
76
|
+
"defaultValue": "'Subscribe'"
|
|
77
|
+
},
|
|
78
|
+
"formAction": {
|
|
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": "form-action"
|
|
96
|
+
},
|
|
97
|
+
"showName": {
|
|
98
|
+
"type": "boolean",
|
|
99
|
+
"mutable": false,
|
|
100
|
+
"complexType": {
|
|
101
|
+
"original": "boolean",
|
|
102
|
+
"resolved": "boolean | undefined",
|
|
103
|
+
"references": {}
|
|
104
|
+
},
|
|
105
|
+
"required": false,
|
|
106
|
+
"optional": true,
|
|
107
|
+
"docs": {
|
|
108
|
+
"tags": [],
|
|
109
|
+
"text": ""
|
|
110
|
+
},
|
|
111
|
+
"getter": false,
|
|
112
|
+
"setter": false,
|
|
113
|
+
"reflect": false,
|
|
114
|
+
"attribute": "show-name"
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
static get events() {
|
|
119
|
+
return [{
|
|
120
|
+
"method": "forjaSubmit",
|
|
121
|
+
"name": "forjaSubmit",
|
|
122
|
+
"bubbles": true,
|
|
123
|
+
"cancelable": true,
|
|
124
|
+
"composed": true,
|
|
125
|
+
"docs": {
|
|
126
|
+
"tags": [],
|
|
127
|
+
"text": ""
|
|
128
|
+
},
|
|
129
|
+
"complexType": {
|
|
130
|
+
"original": "FormData",
|
|
131
|
+
"resolved": "FormData",
|
|
132
|
+
"references": {
|
|
133
|
+
"FormData": {
|
|
134
|
+
"location": "global",
|
|
135
|
+
"id": "global::FormData"
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}];
|
|
140
|
+
}
|
|
141
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { sectionLabel } from "../../utils/a11y";
|
|
3
|
+
export class ForjaPortfolio {
|
|
4
|
+
renderExperiences() {
|
|
5
|
+
if (!this.experiences || this.experiences.length === 0)
|
|
6
|
+
return null;
|
|
7
|
+
return (h("div", { class: "forja-portfolio__experiences" }, h("h3", { class: "forja-portfolio__group-title" }, "Experience"), h("ol", { class: "forja-portfolio__list" }, this.experiences.map(exp => (h("li", { class: "forja-portfolio__entry" }, h("article", { class: "forja-portfolio__card" }, exp.logoUrl && (h("img", { src: exp.logoUrl, alt: "", class: "forja-portfolio__logo", loading: "lazy" })), h("div", { class: "forja-portfolio__details" }, h("h4", { class: "forja-portfolio__role" }, exp.role), h("p", { class: "forja-portfolio__company" }, exp.company), exp.period && h("time", { class: "forja-portfolio__period" }, exp.period), exp.description && (h("div", { class: "forja-portfolio__description", innerHTML: exp.description }))))))))));
|
|
8
|
+
}
|
|
9
|
+
renderEducation() {
|
|
10
|
+
if (!this.education || this.education.length === 0)
|
|
11
|
+
return null;
|
|
12
|
+
return (h("div", { class: "forja-portfolio__education" }, h("h3", { class: "forja-portfolio__group-title" }, "Education"), h("ol", { class: "forja-portfolio__list" }, this.education.map(edu => (h("li", { class: "forja-portfolio__entry" }, h("article", { class: "forja-portfolio__card" }, h("div", { class: "forja-portfolio__details" }, h("h4", { class: "forja-portfolio__role" }, edu.degree), h("p", { class: "forja-portfolio__company" }, edu.institution), edu.period && h("time", { class: "forja-portfolio__period" }, edu.period), edu.description && (h("div", { class: "forja-portfolio__description", innerHTML: edu.description }))))))))));
|
|
13
|
+
}
|
|
14
|
+
renderSkills() {
|
|
15
|
+
if (!this.skills || this.skills.length === 0)
|
|
16
|
+
return null;
|
|
17
|
+
const grouped = this.skills.reduce((acc, skill) => {
|
|
18
|
+
const cat = skill.category || 'General';
|
|
19
|
+
if (!acc[cat])
|
|
20
|
+
acc[cat] = [];
|
|
21
|
+
acc[cat].push(skill);
|
|
22
|
+
return acc;
|
|
23
|
+
}, {});
|
|
24
|
+
return (h("div", { class: "forja-portfolio__skills" }, h("h3", { class: "forja-portfolio__group-title" }, "Skills"), Object.entries(grouped).map(([category, items]) => (h("div", { class: "forja-portfolio__skill-group" }, Object.keys(grouped).length > 1 && (h("h4", { class: "forja-portfolio__skill-category" }, category)), h("ul", { class: "forja-portfolio__skill-list", "data-columns": this.columns }, items.map(skill => (h("li", { class: "forja-portfolio__skill" }, skill.name)))))))));
|
|
25
|
+
}
|
|
26
|
+
render() {
|
|
27
|
+
return (h("section", { key: '96e2ad1a4250c58f0785ccf1dcf38c7ac5b8d53a', class: "forja-portfolio", "aria-label": sectionLabel(this.sectionTitle, 'Portfolio') }, h("slot", { key: 'a4f4d1379d09a2019e5e92de5bf0f65d8a78bf62', name: "before" }), this.sectionTitle && h("h2", { key: '3419d7e33cda89d94ad2166c02df2b5451715ca7', class: "forja-portfolio__title" }, this.sectionTitle), this.text && h("div", { key: '1dc200413658bde80829bd57b166772e6e27b8be', class: "forja-portfolio__text", innerHTML: this.text }), this.renderExperiences(), this.renderEducation(), this.renderSkills(), h("slot", { key: '4ea0373f8e21524b516dd3f4b5a967acd3c7d7cf', name: "after" })));
|
|
28
|
+
}
|
|
29
|
+
static get is() { return "forja-portfolio"; }
|
|
30
|
+
static get properties() {
|
|
31
|
+
return {
|
|
32
|
+
"sectionTitle": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"mutable": false,
|
|
35
|
+
"complexType": {
|
|
36
|
+
"original": "string",
|
|
37
|
+
"resolved": "string | undefined",
|
|
38
|
+
"references": {}
|
|
39
|
+
},
|
|
40
|
+
"required": false,
|
|
41
|
+
"optional": true,
|
|
42
|
+
"docs": {
|
|
43
|
+
"tags": [],
|
|
44
|
+
"text": ""
|
|
45
|
+
},
|
|
46
|
+
"getter": false,
|
|
47
|
+
"setter": false,
|
|
48
|
+
"reflect": false,
|
|
49
|
+
"attribute": "section-title"
|
|
50
|
+
},
|
|
51
|
+
"text": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"mutable": false,
|
|
54
|
+
"complexType": {
|
|
55
|
+
"original": "string",
|
|
56
|
+
"resolved": "string | undefined",
|
|
57
|
+
"references": {}
|
|
58
|
+
},
|
|
59
|
+
"required": false,
|
|
60
|
+
"optional": true,
|
|
61
|
+
"docs": {
|
|
62
|
+
"tags": [],
|
|
63
|
+
"text": ""
|
|
64
|
+
},
|
|
65
|
+
"getter": false,
|
|
66
|
+
"setter": false,
|
|
67
|
+
"reflect": false,
|
|
68
|
+
"attribute": "text"
|
|
69
|
+
},
|
|
70
|
+
"experiences": {
|
|
71
|
+
"type": "unknown",
|
|
72
|
+
"mutable": false,
|
|
73
|
+
"complexType": {
|
|
74
|
+
"original": "PortfolioExperience[]",
|
|
75
|
+
"resolved": "PortfolioExperience[] | undefined",
|
|
76
|
+
"references": {
|
|
77
|
+
"PortfolioExperience": {
|
|
78
|
+
"location": "import",
|
|
79
|
+
"path": "../../types",
|
|
80
|
+
"id": "src/types.ts::PortfolioExperience",
|
|
81
|
+
"referenceLocation": "PortfolioExperience"
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"required": false,
|
|
86
|
+
"optional": true,
|
|
87
|
+
"docs": {
|
|
88
|
+
"tags": [],
|
|
89
|
+
"text": ""
|
|
90
|
+
},
|
|
91
|
+
"getter": false,
|
|
92
|
+
"setter": false
|
|
93
|
+
},
|
|
94
|
+
"education": {
|
|
95
|
+
"type": "unknown",
|
|
96
|
+
"mutable": false,
|
|
97
|
+
"complexType": {
|
|
98
|
+
"original": "EducationItem[]",
|
|
99
|
+
"resolved": "EducationItem[] | undefined",
|
|
100
|
+
"references": {
|
|
101
|
+
"EducationItem": {
|
|
102
|
+
"location": "import",
|
|
103
|
+
"path": "../../types",
|
|
104
|
+
"id": "src/types.ts::EducationItem",
|
|
105
|
+
"referenceLocation": "EducationItem"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"required": false,
|
|
110
|
+
"optional": true,
|
|
111
|
+
"docs": {
|
|
112
|
+
"tags": [],
|
|
113
|
+
"text": ""
|
|
114
|
+
},
|
|
115
|
+
"getter": false,
|
|
116
|
+
"setter": false
|
|
117
|
+
},
|
|
118
|
+
"skills": {
|
|
119
|
+
"type": "unknown",
|
|
120
|
+
"mutable": false,
|
|
121
|
+
"complexType": {
|
|
122
|
+
"original": "SkillItem[]",
|
|
123
|
+
"resolved": "SkillItem[] | undefined",
|
|
124
|
+
"references": {
|
|
125
|
+
"SkillItem": {
|
|
126
|
+
"location": "import",
|
|
127
|
+
"path": "../../types",
|
|
128
|
+
"id": "src/types.ts::SkillItem",
|
|
129
|
+
"referenceLocation": "SkillItem"
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"required": false,
|
|
134
|
+
"optional": true,
|
|
135
|
+
"docs": {
|
|
136
|
+
"tags": [],
|
|
137
|
+
"text": ""
|
|
138
|
+
},
|
|
139
|
+
"getter": false,
|
|
140
|
+
"setter": false
|
|
141
|
+
},
|
|
142
|
+
"columns": {
|
|
143
|
+
"type": "number",
|
|
144
|
+
"mutable": false,
|
|
145
|
+
"complexType": {
|
|
146
|
+
"original": "number",
|
|
147
|
+
"resolved": "number | undefined",
|
|
148
|
+
"references": {}
|
|
149
|
+
},
|
|
150
|
+
"required": false,
|
|
151
|
+
"optional": true,
|
|
152
|
+
"docs": {
|
|
153
|
+
"tags": [],
|
|
154
|
+
"text": ""
|
|
155
|
+
},
|
|
156
|
+
"getter": false,
|
|
157
|
+
"setter": false,
|
|
158
|
+
"reflect": false,
|
|
159
|
+
"attribute": "columns"
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { sectionLabel } from "../../utils/a11y";
|
|
3
|
+
export class ForjaPricing {
|
|
4
|
+
render() {
|
|
5
|
+
const hasTiers = this.tiers && this.tiers.length > 0;
|
|
6
|
+
return (h("section", { key: 'bae1df3d72dc351c1e55506fdfaad535f45814f6', class: "forja-pricing", "aria-label": sectionLabel(this.sectionTitle, 'Pricing') }, h("slot", { key: '343e7d5490dfc07cc2024661d404b1c2a44c46a9', name: "before" }), (this.sectionTitle || this.text) && (h("div", { key: 'e91c8e1945da57bc28bbc6ee09b72dca1dd03d22', class: "forja-pricing__header" }, this.sectionTitle && h("h2", { key: '81000892bb72e034613283df85928c1c667a4f95', class: "forja-pricing__title" }, this.sectionTitle), this.text && h("div", { key: '56363c268fb40a5512ab90005463bf43402e8c2f', class: "forja-pricing__text", innerHTML: this.text }))), hasTiers ? (h("div", { class: "forja-pricing__tiers", role: "list", "data-columns": this.columns }, this.tiers.map(tier => (h("div", { class: `forja-pricing__tier${tier.highlighted ? ' forja-pricing__tier--highlighted' : ''}`, role: "listitem" }, h("h3", { class: "forja-pricing__tier-name" }, tier.name), h("div", { class: "forja-pricing__price" }, h("span", { class: "forja-pricing__amount" }, tier.price), tier.period && h("span", { class: "forja-pricing__period" }, tier.period)), tier.description && h("p", { class: "forja-pricing__description" }, tier.description), tier.features && tier.features.length > 0 && (h("ul", { class: "forja-pricing__features" }, tier.features.map(feature => (h("li", { class: "forja-pricing__feature" }, feature))))), tier.buttonText && tier.buttonHref && (h("a", { href: tier.buttonHref, class: "forja-pricing__cta" }, tier.buttonText))))))) : (h("div", { class: "forja-pricing__tiers", role: "list", "data-columns": this.columns }, h("slot", null))), h("slot", { key: 'd4ed110c1c8ab8a865ba7c1066caf5867c36494c', name: "after" })));
|
|
7
|
+
}
|
|
8
|
+
static get is() { return "forja-pricing"; }
|
|
9
|
+
static get properties() {
|
|
10
|
+
return {
|
|
11
|
+
"sectionTitle": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"mutable": false,
|
|
14
|
+
"complexType": {
|
|
15
|
+
"original": "string",
|
|
16
|
+
"resolved": "string | undefined",
|
|
17
|
+
"references": {}
|
|
18
|
+
},
|
|
19
|
+
"required": false,
|
|
20
|
+
"optional": true,
|
|
21
|
+
"docs": {
|
|
22
|
+
"tags": [],
|
|
23
|
+
"text": ""
|
|
24
|
+
},
|
|
25
|
+
"getter": false,
|
|
26
|
+
"setter": false,
|
|
27
|
+
"reflect": false,
|
|
28
|
+
"attribute": "section-title"
|
|
29
|
+
},
|
|
30
|
+
"text": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"mutable": false,
|
|
33
|
+
"complexType": {
|
|
34
|
+
"original": "string",
|
|
35
|
+
"resolved": "string | undefined",
|
|
36
|
+
"references": {}
|
|
37
|
+
},
|
|
38
|
+
"required": false,
|
|
39
|
+
"optional": true,
|
|
40
|
+
"docs": {
|
|
41
|
+
"tags": [],
|
|
42
|
+
"text": ""
|
|
43
|
+
},
|
|
44
|
+
"getter": false,
|
|
45
|
+
"setter": false,
|
|
46
|
+
"reflect": false,
|
|
47
|
+
"attribute": "text"
|
|
48
|
+
},
|
|
49
|
+
"tiers": {
|
|
50
|
+
"type": "unknown",
|
|
51
|
+
"mutable": false,
|
|
52
|
+
"complexType": {
|
|
53
|
+
"original": "PricingTier[]",
|
|
54
|
+
"resolved": "PricingTier[] | undefined",
|
|
55
|
+
"references": {
|
|
56
|
+
"PricingTier": {
|
|
57
|
+
"location": "import",
|
|
58
|
+
"path": "../../types",
|
|
59
|
+
"id": "src/types.ts::PricingTier",
|
|
60
|
+
"referenceLocation": "PricingTier"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"required": false,
|
|
65
|
+
"optional": true,
|
|
66
|
+
"docs": {
|
|
67
|
+
"tags": [],
|
|
68
|
+
"text": ""
|
|
69
|
+
},
|
|
70
|
+
"getter": false,
|
|
71
|
+
"setter": false
|
|
72
|
+
},
|
|
73
|
+
"columns": {
|
|
74
|
+
"type": "number",
|
|
75
|
+
"mutable": false,
|
|
76
|
+
"complexType": {
|
|
77
|
+
"original": "number",
|
|
78
|
+
"resolved": "number | undefined",
|
|
79
|
+
"references": {}
|
|
80
|
+
},
|
|
81
|
+
"required": false,
|
|
82
|
+
"optional": true,
|
|
83
|
+
"docs": {
|
|
84
|
+
"tags": [],
|
|
85
|
+
"text": ""
|
|
86
|
+
},
|
|
87
|
+
"getter": false,
|
|
88
|
+
"setter": false,
|
|
89
|
+
"reflect": false,
|
|
90
|
+
"attribute": "columns"
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { sectionLabel } from "../../utils/a11y";
|
|
3
|
+
export class ForjaProjects {
|
|
4
|
+
render() {
|
|
5
|
+
const hasItems = this.items && this.items.length > 0;
|
|
6
|
+
return (h("section", { key: '15db32b9f5878409c28debb36ded1047f657ce2a', class: "forja-projects", "aria-label": sectionLabel(this.sectionTitle, 'Projects') }, h("slot", { key: 'f5dd2f0ca808fcfeaa11c4006dfaa88723ea4a47', name: "before" }), this.sectionTitle && h("h2", { key: 'fd5e121eb42bba78d4dc5b2719c1129182ebc030', class: "forja-projects__title" }, this.sectionTitle), this.text && h("div", { key: 'dd82836aaf6934f7420fa2cce02e9574e27b4781', class: "forja-projects__text", innerHTML: this.text }), hasItems ? (h("div", { class: "forja-projects__grid", role: "list", "data-columns": this.columns }, this.items.map(item => (h("article", { class: "forja-projects__card", role: "listitem" }, item.imageUrl && (h("img", { src: item.imageUrl, alt: "", class: "forja-projects__image", loading: "lazy" })), h("div", { class: "forja-projects__content" }, h("div", { class: "forja-projects__header" }, h("h3", { class: "forja-projects__name" }, item.href ? (h("a", { href: item.href, class: "forja-projects__link" }, item.title)) : (item.title)), item.status && (h("span", { class: "forja-projects__status" }, item.status))), item.description && (h("div", { class: "forja-projects__description", innerHTML: item.description })), item.tags && item.tags.length > 0 && (h("ul", { class: "forja-projects__tags" }, item.tags.map(tag => (h("li", { class: "forja-projects__tag" }, tag))))))))))) : (h("slot", null)), h("slot", { key: 'b7772bead8f5c04f3b3e857bc9da18adc29e38b7', name: "after" })));
|
|
7
|
+
}
|
|
8
|
+
static get is() { return "forja-projects"; }
|
|
9
|
+
static get properties() {
|
|
10
|
+
return {
|
|
11
|
+
"sectionTitle": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"mutable": false,
|
|
14
|
+
"complexType": {
|
|
15
|
+
"original": "string",
|
|
16
|
+
"resolved": "string | undefined",
|
|
17
|
+
"references": {}
|
|
18
|
+
},
|
|
19
|
+
"required": false,
|
|
20
|
+
"optional": true,
|
|
21
|
+
"docs": {
|
|
22
|
+
"tags": [],
|
|
23
|
+
"text": ""
|
|
24
|
+
},
|
|
25
|
+
"getter": false,
|
|
26
|
+
"setter": false,
|
|
27
|
+
"reflect": false,
|
|
28
|
+
"attribute": "section-title"
|
|
29
|
+
},
|
|
30
|
+
"text": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"mutable": false,
|
|
33
|
+
"complexType": {
|
|
34
|
+
"original": "string",
|
|
35
|
+
"resolved": "string | undefined",
|
|
36
|
+
"references": {}
|
|
37
|
+
},
|
|
38
|
+
"required": false,
|
|
39
|
+
"optional": true,
|
|
40
|
+
"docs": {
|
|
41
|
+
"tags": [],
|
|
42
|
+
"text": ""
|
|
43
|
+
},
|
|
44
|
+
"getter": false,
|
|
45
|
+
"setter": false,
|
|
46
|
+
"reflect": false,
|
|
47
|
+
"attribute": "text"
|
|
48
|
+
},
|
|
49
|
+
"items": {
|
|
50
|
+
"type": "unknown",
|
|
51
|
+
"mutable": false,
|
|
52
|
+
"complexType": {
|
|
53
|
+
"original": "ProjectItem[]",
|
|
54
|
+
"resolved": "ProjectItem[] | undefined",
|
|
55
|
+
"references": {
|
|
56
|
+
"ProjectItem": {
|
|
57
|
+
"location": "import",
|
|
58
|
+
"path": "../../types",
|
|
59
|
+
"id": "src/types.ts::ProjectItem",
|
|
60
|
+
"referenceLocation": "ProjectItem"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"required": false,
|
|
65
|
+
"optional": true,
|
|
66
|
+
"docs": {
|
|
67
|
+
"tags": [],
|
|
68
|
+
"text": ""
|
|
69
|
+
},
|
|
70
|
+
"getter": false,
|
|
71
|
+
"setter": false
|
|
72
|
+
},
|
|
73
|
+
"columns": {
|
|
74
|
+
"type": "number",
|
|
75
|
+
"mutable": false,
|
|
76
|
+
"complexType": {
|
|
77
|
+
"original": "number",
|
|
78
|
+
"resolved": "number | undefined",
|
|
79
|
+
"references": {}
|
|
80
|
+
},
|
|
81
|
+
"required": false,
|
|
82
|
+
"optional": true,
|
|
83
|
+
"docs": {
|
|
84
|
+
"tags": [],
|
|
85
|
+
"text": ""
|
|
86
|
+
},
|
|
87
|
+
"getter": false,
|
|
88
|
+
"setter": false,
|
|
89
|
+
"reflect": false,
|
|
90
|
+
"attribute": "columns"
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
}
|