@forjacms/sections 1.7.7 → 1.8.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/README.md +10 -0
- package/dist/cjs/forja-blog.cjs.entry.js +2 -1
- package/dist/cjs/forja-contact.cjs.entry.js +3 -2
- package/dist/cjs/forja-cta.cjs.entry.js +2 -1
- package/dist/cjs/forja-faq.cjs.entry.js +2 -1
- package/dist/cjs/forja-features.cjs.entry.js +2 -1
- package/dist/cjs/forja-gallery.cjs.entry.js +2 -1
- package/dist/cjs/forja-hero.cjs.entry.js +2 -1
- package/dist/cjs/forja-legal.cjs.entry.js +2 -1
- package/dist/cjs/forja-logo-cloud.cjs.entry.js +2 -1
- package/dist/cjs/forja-newsletter.cjs.entry.js +3 -2
- package/dist/cjs/forja-portfolio.cjs.entry.js +4 -3
- package/dist/cjs/forja-pricing.cjs.entry.js +2 -1
- package/dist/cjs/forja-projects.cjs.entry.js +2 -1
- package/dist/cjs/forja-section-renderer.cjs.entry.js +2 -1
- package/dist/cjs/forja-stats.cjs.entry.js +2 -1
- package/dist/cjs/forja-tag-cloud.cjs.entry.js +2 -1
- package/dist/cjs/forja-team.cjs.entry.js +2 -1
- package/dist/cjs/forja-testimonials.cjs.entry.js +2 -1
- package/dist/cjs/forja-text-block.cjs.entry.js +2 -1
- package/dist/cjs/forja-timeline.cjs.entry.js +2 -1
- package/dist/cjs/forja-video.cjs.entry.js +2 -1
- package/dist/cjs/sanitize-CW5vDvZT.js +12038 -0
- package/dist/collection/components/forja-blog/forja-blog.js +2 -1
- package/dist/collection/components/forja-contact/forja-contact.js +3 -2
- package/dist/collection/components/forja-cta/forja-cta.js +2 -1
- package/dist/collection/components/forja-faq/forja-faq.js +2 -1
- package/dist/collection/components/forja-features/forja-features.js +2 -1
- package/dist/collection/components/forja-gallery/forja-gallery.js +2 -1
- package/dist/collection/components/forja-hero/forja-hero.js +2 -1
- package/dist/collection/components/forja-legal/forja-legal.js +2 -1
- package/dist/collection/components/forja-logo-cloud/forja-logo-cloud.js +2 -1
- package/dist/collection/components/forja-newsletter/forja-newsletter.js +3 -2
- package/dist/collection/components/forja-portfolio/forja-portfolio.js +4 -3
- package/dist/collection/components/forja-pricing/forja-pricing.js +2 -1
- package/dist/collection/components/forja-projects/forja-projects.js +2 -1
- package/dist/collection/components/forja-section-renderer/forja-section-renderer.js +2 -1
- package/dist/collection/components/forja-stats/forja-stats.js +2 -1
- package/dist/collection/components/forja-tag-cloud/forja-tag-cloud.js +2 -1
- package/dist/collection/components/forja-team/forja-team.js +2 -1
- package/dist/collection/components/forja-testimonials/forja-testimonials.js +2 -1
- package/dist/collection/components/forja-text-block/forja-text-block.js +2 -1
- package/dist/collection/components/forja-timeline/forja-timeline.js +2 -1
- package/dist/collection/components/forja-video/forja-video.js +2 -1
- package/dist/collection/utils/sanitize.js +28 -0
- package/dist/collection/utils/sanitize.unit.js +36 -0
- package/dist/components/forja-blog.js +1 -1
- package/dist/components/forja-contact.js +1 -1
- package/dist/components/forja-cta.js +1 -1
- package/dist/components/forja-faq.js +1 -1
- package/dist/components/forja-features.js +1 -1
- package/dist/components/forja-gallery.js +1 -1
- package/dist/components/forja-hero.js +1 -1
- package/dist/components/forja-legal.js +1 -1
- package/dist/components/forja-logo-cloud.js +1 -1
- package/dist/components/forja-newsletter.js +1 -1
- package/dist/components/forja-portfolio.js +1 -1
- package/dist/components/forja-pricing.js +1 -1
- package/dist/components/forja-projects.js +1 -1
- package/dist/components/forja-section-renderer.js +1 -1
- package/dist/components/forja-stats.js +1 -1
- package/dist/components/forja-tag-cloud.js +1 -1
- package/dist/components/forja-team.js +1 -1
- package/dist/components/forja-testimonials.js +1 -1
- package/dist/components/forja-text-block.js +1 -1
- package/dist/components/forja-timeline.js +1 -1
- package/dist/components/forja-video.js +1 -1
- package/dist/components/p-D6KWgfCs.js +7 -0
- package/dist/esm/forja-blog.entry.js +2 -1
- package/dist/esm/forja-contact.entry.js +3 -2
- package/dist/esm/forja-cta.entry.js +2 -1
- package/dist/esm/forja-faq.entry.js +2 -1
- package/dist/esm/forja-features.entry.js +2 -1
- package/dist/esm/forja-gallery.entry.js +2 -1
- package/dist/esm/forja-hero.entry.js +2 -1
- package/dist/esm/forja-legal.entry.js +2 -1
- package/dist/esm/forja-logo-cloud.entry.js +2 -1
- package/dist/esm/forja-newsletter.entry.js +3 -2
- package/dist/esm/forja-portfolio.entry.js +4 -3
- package/dist/esm/forja-pricing.entry.js +2 -1
- package/dist/esm/forja-projects.entry.js +2 -1
- package/dist/esm/forja-section-renderer.entry.js +2 -1
- package/dist/esm/forja-stats.entry.js +2 -1
- package/dist/esm/forja-tag-cloud.entry.js +2 -1
- package/dist/esm/forja-team.entry.js +2 -1
- package/dist/esm/forja-testimonials.entry.js +2 -1
- package/dist/esm/forja-text-block.entry.js +2 -1
- package/dist/esm/forja-timeline.entry.js +2 -1
- package/dist/esm/forja-video.entry.js +2 -1
- package/dist/esm/sanitize-D6KWgfCs.js +12036 -0
- package/dist/forja-sections/forja-sections.esm.js +1 -1
- package/dist/forja-sections/p-0c90861f.entry.js +1 -0
- package/dist/forja-sections/p-3224ea53.entry.js +1 -0
- package/dist/forja-sections/p-32b758b2.entry.js +1 -0
- package/dist/forja-sections/p-34e5af78.entry.js +1 -0
- package/dist/forja-sections/p-5af07298.entry.js +1 -0
- package/dist/forja-sections/p-65db9305.entry.js +1 -0
- package/dist/forja-sections/p-6815a0d9.entry.js +1 -0
- package/dist/forja-sections/p-6b63cd9e.entry.js +1 -0
- package/dist/forja-sections/p-775468ac.entry.js +1 -0
- package/dist/forja-sections/p-815198d8.entry.js +1 -0
- package/dist/forja-sections/p-D6KWgfCs.js +7 -0
- package/dist/forja-sections/p-a32ca48d.entry.js +1 -0
- package/dist/forja-sections/p-a5608f61.entry.js +1 -0
- package/dist/forja-sections/p-a9ea393f.entry.js +1 -0
- package/dist/forja-sections/p-aca042d7.entry.js +1 -0
- package/dist/forja-sections/p-ad7f6525.entry.js +1 -0
- package/dist/forja-sections/p-b022f97f.entry.js +1 -0
- package/dist/forja-sections/p-c4a6fd86.entry.js +1 -0
- package/dist/forja-sections/p-d5673a61.entry.js +1 -0
- package/dist/forja-sections/p-e9687bdd.entry.js +1 -0
- package/dist/forja-sections/p-eb4d3343.entry.js +1 -0
- package/dist/forja-sections/p-fd21a4d6.entry.js +1 -0
- package/dist/types/utils/sanitize.d.ts +7 -0
- package/dist/types/utils/sanitize.unit.d.ts +1 -0
- package/package.json +4 -2
- package/dist/forja-sections/p-2374ab45.entry.js +0 -1
- package/dist/forja-sections/p-28d89696.entry.js +0 -1
- package/dist/forja-sections/p-44c37ec0.entry.js +0 -1
- package/dist/forja-sections/p-4a64fd63.entry.js +0 -1
- package/dist/forja-sections/p-52608627.entry.js +0 -1
- package/dist/forja-sections/p-53d27751.entry.js +0 -1
- package/dist/forja-sections/p-66dee454.entry.js +0 -1
- package/dist/forja-sections/p-680fe800.entry.js +0 -1
- package/dist/forja-sections/p-73d4139c.entry.js +0 -1
- package/dist/forja-sections/p-7835a30d.entry.js +0 -1
- package/dist/forja-sections/p-7cd82cee.entry.js +0 -1
- package/dist/forja-sections/p-7dff4916.entry.js +0 -1
- package/dist/forja-sections/p-a1b4e383.entry.js +0 -1
- package/dist/forja-sections/p-a4cc2ee9.entry.js +0 -1
- package/dist/forja-sections/p-b4bf78b2.entry.js +0 -1
- package/dist/forja-sections/p-b79ab033.entry.js +0 -1
- package/dist/forja-sections/p-d312478c.entry.js +0 -1
- package/dist/forja-sections/p-da58a406.entry.js +0 -1
- package/dist/forja-sections/p-dbc78819.entry.js +0 -1
- package/dist/forja-sections/p-df44677a.entry.js +0 -1
- package/dist/forja-sections/p-f39766f7.entry.js +0 -1
package/README.md
CHANGED
|
@@ -137,6 +137,16 @@ Components ship with **zero CSS** and render in the light DOM (`shadow: false`).
|
|
|
137
137
|
.forja-features__grid[data-columns="3"] { grid-template-columns: repeat(3, 1fr); }
|
|
138
138
|
```
|
|
139
139
|
|
|
140
|
+
## Security
|
|
141
|
+
|
|
142
|
+
HTML-bearing props (`text`, `intro`, `body`, FAQ answers, post excerpts, item
|
|
143
|
+
descriptions) are rendered via `innerHTML`. The components sanitize this HTML
|
|
144
|
+
**by default** before it reaches the DOM, using an allowlist that strips
|
|
145
|
+
`<script>`, inline event handlers (`onerror`, `onload`, …), and dangerous URL
|
|
146
|
+
schemes (`javascript:`) while preserving benign rich text (headings, lists,
|
|
147
|
+
links, images). Consumers do not need to sanitize CMS content themselves — the
|
|
148
|
+
library is safe-by-default.
|
|
149
|
+
|
|
140
150
|
## Accessibility
|
|
141
151
|
|
|
142
152
|
All components follow WCAG 2.1 AA patterns:
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaBlog = class {
|
|
@@ -9,7 +10,7 @@ const ForjaBlog = class {
|
|
|
9
10
|
}
|
|
10
11
|
render() {
|
|
11
12
|
const hasPosts = this.posts && this.posts.length > 0;
|
|
12
|
-
return (index.h("section", { key: '
|
|
13
|
+
return (index.h("section", { key: 'f388fb05e0b1c9037849aca394546a8eb940a794', class: "forja-blog", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Blog') }, index.h("slot", { key: '7bb15fe38b974b22104ae1d5091556b403d21cc7', name: "before" }), this.sectionTitle && index.h("h2", { key: '13fd9b0730213fd6f0aa066c712a46463ad01760', class: "forja-blog__title" }, this.sectionTitle), this.text && index.h("div", { key: '4a23d09535b8f501a8effd4eefa095d28916a9f0', class: "forja-blog__text", innerHTML: sanitize.sanitizeHtml(this.text) }), hasPosts ? (index.h("div", { class: "forja-blog__grid", role: "list", "data-columns": this.columns }, this.posts.map(post => (index.h("article", { class: "forja-blog__card", role: "listitem" }, post.imageUrl && (index.h("a", { href: post.href, class: "forja-blog__image-link" }, index.h("img", { src: post.imageUrl, alt: "", class: "forja-blog__image", loading: "lazy" }))), index.h("div", { class: "forja-blog__content" }, (post.date || post.author) && (index.h("div", { class: "forja-blog__meta" }, post.date && index.h("time", { class: "forja-blog__date" }, post.date), post.author && index.h("span", { class: "forja-blog__author" }, post.author))), index.h("h3", { class: "forja-blog__post-title" }, post.href ? (index.h("a", { href: post.href, class: "forja-blog__link" }, post.title)) : (post.title)), post.excerpt && (index.h("div", { class: "forja-blog__excerpt", innerHTML: sanitize.sanitizeHtml(post.excerpt) })))))))) : (index.h("slot", null)), this.buttonText && this.buttonHref && (index.h("div", { key: '8e47b739a0df71b9c7c3406ee7bf69d4f800456e', class: "forja-blog__footer" }, index.h("a", { key: 'cee686f2bd640afead6071fc2ba1c02769eb8ef0', href: this.buttonHref, class: "forja-blog__cta" }, this.buttonText))), index.h("slot", { key: '24d9babac7a30a58d04d211e6240c227dcd77180', name: "after" })));
|
|
13
14
|
}
|
|
14
15
|
};
|
|
15
16
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
var altcha = require('./altcha-J8QlF6y1.js');
|
|
6
7
|
|
|
@@ -37,11 +38,11 @@ const ForjaContact = class {
|
|
|
37
38
|
}
|
|
38
39
|
render() {
|
|
39
40
|
const hasFields = this.fields && this.fields.length > 0;
|
|
40
|
-
return (index.h("section", { key: '
|
|
41
|
+
return (index.h("section", { key: 'c8af0ffcd913695e8dfff36728de8e2ee434b488', class: "forja-contact", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Contact') }, index.h("slot", { key: 'a7df7905ee96ce02cbda43852c8e509905bdde56', name: "before" }), index.h("div", { key: 'fa967a307c4fc804e2e944d9c4e16131847ca9ef', class: "forja-contact__content" }, this.sectionTitle && index.h("h2", { key: 'a4e51561fdd766ec7e8d63340cc9f6b88258fcfb', class: "forja-contact__title" }, this.sectionTitle), this.text && index.h("div", { key: '1845015fab28082323d875cb26c4b27b69df52df', class: "forja-contact__text", innerHTML: sanitize.sanitizeHtml(this.text) }), this.buttonText && this.buttonHref && (index.h("a", { key: '232643b2eb3e313550c31b1da06b7e5f9b714397', href: this.buttonHref, class: "forja-contact__cta" }, this.buttonText))), hasFields ? (index.h("form", { class: "forja-contact__form", action: this.formAction, method: this.formAction ? 'post' : undefined, onSubmit: this.handleSubmit }, this.fields.map(field => {
|
|
41
42
|
const fieldId = a11y.sectionId(field.name, 'contact');
|
|
42
43
|
return (index.h("div", { class: "forja-contact__field" }, index.h("label", { class: "forja-contact__label", htmlFor: fieldId }, field.label, field.required && index.h("span", { "aria-hidden": "true" }, " *")), field.type === 'textarea' ? (index.h("textarea", { id: fieldId, name: field.name, class: "forja-contact__input forja-contact__input--textarea", required: field.required, "aria-required": field.required ? 'true' : undefined, placeholder: field.placeholder })) : (index.h("input", { id: fieldId, name: field.name, type: field.type, class: "forja-contact__input", required: field.required, "aria-required": field.required ? 'true' : undefined, placeholder: field.placeholder }))));
|
|
43
44
|
}), this.requiresAltcha &&
|
|
44
|
-
altcha.renderAltchaWidget(this.altchaChallengeUrl, 'forja-contact-altcha'), this.botProtectionUnsolved && (index.h("p", { class: "forja-contact__error", role: "alert", "data-testid": "forja-contact-altcha-error" }, "Please complete the verification before submitting.")), index.h("button", { type: "submit", class: "forja-contact__submit" }, this.buttonText || 'Send'))) : (index.h("slot", null)), index.h("slot", { key: '
|
|
45
|
+
altcha.renderAltchaWidget(this.altchaChallengeUrl, 'forja-contact-altcha'), this.botProtectionUnsolved && (index.h("p", { class: "forja-contact__error", role: "alert", "data-testid": "forja-contact-altcha-error" }, "Please complete the verification before submitting.")), index.h("button", { type: "submit", class: "forja-contact__submit" }, this.buttonText || 'Send'))) : (index.h("slot", null)), index.h("slot", { key: 'b520fe377f4bfbb9f4e47febb064f6e0d5f67f76', name: "after" })));
|
|
45
46
|
}
|
|
46
47
|
};
|
|
47
48
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaCta = class {
|
|
@@ -8,7 +9,7 @@ const ForjaCta = class {
|
|
|
8
9
|
index.registerInstance(this, hostRef);
|
|
9
10
|
}
|
|
10
11
|
render() {
|
|
11
|
-
return (index.h("section", { key: '
|
|
12
|
+
return (index.h("section", { key: 'bcc9c947f7925c74a917e51c9a01b3e1e28630d2', class: "forja-cta", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Call to action') }, index.h("slot", { key: '3bc2dd9fef3b945a095b0a23ea4df2d3199ab521', name: "before" }), this.imageUrl && (index.h("img", { key: '2b46a5a039cba9d7d5aee6f7048616017eeab6fc', src: this.imageUrl, alt: this.imageAlt || '', class: "forja-cta__image", loading: "lazy" })), index.h("div", { key: '620561f04fb24781f77bec5b06a73fb9d74d807b', class: "forja-cta__content" }, this.sectionTitle && index.h("h2", { key: '4863015db9f2c9325db40cab71f6c2642254b2e8', class: "forja-cta__title" }, this.sectionTitle), this.text && index.h("div", { key: 'f4b2961cdea83ef5e1172a37e32ff6622fa7e1d9', class: "forja-cta__text", innerHTML: sanitize.sanitizeHtml(this.text) }), this.buttonText && this.buttonHref && (index.h("a", { key: 'b816ed6ac43b25d3aca0b43443820be66068223b', href: this.buttonHref, class: "forja-cta__button" }, this.buttonText))), index.h("slot", { key: 'f7e68d935cb95eb58ecb5257a2f17518ff2f8795', name: "after" })));
|
|
12
13
|
}
|
|
13
14
|
};
|
|
14
15
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaFaq = class {
|
|
@@ -9,7 +10,7 @@ const ForjaFaq = class {
|
|
|
9
10
|
}
|
|
10
11
|
render() {
|
|
11
12
|
const hasItems = this.items && this.items.length > 0;
|
|
12
|
-
return (index.h("section", { key: '
|
|
13
|
+
return (index.h("section", { key: '7b764cc09100c6aec6446f953780c2d2ce597c65', class: "forja-faq", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Frequently asked questions') }, index.h("slot", { key: '39f9f402e657baa03dbf535ca1fd760838e52dd9', name: "before" }), this.sectionTitle && index.h("h2", { key: 'b83043007df5d58c721c53ad3886d6c12dc0c374', class: "forja-faq__title" }, this.sectionTitle), this.text && index.h("div", { key: 'f6096729170e283558da9bf9f19a195e89cc1f15', class: "forja-faq__text", innerHTML: sanitize.sanitizeHtml(this.text) }), hasItems ? (index.h("div", { class: "forja-faq__list" }, this.items.map(item => (index.h("details", { class: "forja-faq__item" }, index.h("summary", { class: "forja-faq__question" }, item.question), index.h("div", { class: "forja-faq__answer", innerHTML: sanitize.sanitizeHtml(item.answer) })))))) : (index.h("div", { class: "forja-faq__list" }, index.h("slot", null))), index.h("slot", { key: '9df2a977d2135c0ccfd2df23a8be442a6e711cb2', name: "after" })));
|
|
13
14
|
}
|
|
14
15
|
};
|
|
15
16
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaFeatures = class {
|
|
@@ -9,7 +10,7 @@ const ForjaFeatures = class {
|
|
|
9
10
|
}
|
|
10
11
|
render() {
|
|
11
12
|
const hasItems = this.items && this.items.length > 0;
|
|
12
|
-
return (index.h("section", { key: '
|
|
13
|
+
return (index.h("section", { key: 'dfe822afd362c2eb23743dc9747a27e1310d5326', class: "forja-features", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Features') }, index.h("slot", { key: '27b9cde026c60da5c5cf0d04079fa8ef19ad7566', name: "before" }), (this.sectionTitle || this.text) && (index.h("div", { key: 'c761dddc8c9dc572dcc15ebf85591f4c28c4f927', class: "forja-features__header" }, this.sectionTitle && index.h("h2", { key: '0a47b1d752ebaec58137e3b4371fb3f14e0cb501', class: "forja-features__title" }, this.sectionTitle), this.text && index.h("div", { key: '927f05f0102c835abb3031232e9b81bb63ea5dd0', class: "forja-features__text", innerHTML: sanitize.sanitizeHtml(this.text) }))), hasItems ? (index.h("ul", { class: "forja-features__grid", role: "list", "data-columns": this.columns }, this.items.map(item => (index.h("li", { class: "forja-features__item" }, item.icon && index.h("span", { class: "forja-features__icon", "aria-hidden": "true" }, item.icon), index.h("h3", { class: "forja-features__item-title" }, item.title), item.text && index.h("p", { class: "forja-features__item-text" }, item.text)))))) : (index.h("div", { class: "forja-features__grid", role: "list", "data-columns": this.columns }, index.h("slot", null))), index.h("slot", { key: '0f8f33c9742b3c43345a10fafed770980fcc1664', name: "after" })));
|
|
13
14
|
}
|
|
14
15
|
};
|
|
15
16
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaGallery = class {
|
|
@@ -9,7 +10,7 @@ const ForjaGallery = class {
|
|
|
9
10
|
}
|
|
10
11
|
render() {
|
|
11
12
|
const hasItems = this.items && this.items.length > 0;
|
|
12
|
-
return (index.h("section", { key: '
|
|
13
|
+
return (index.h("section", { key: '5ed465d0edb40fd9cc0a710389cbc969d3d8023e', class: "forja-gallery", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Gallery') }, index.h("slot", { key: '940ff6ebbc4548dbd554b51b6bdd7875b4e5ee4d', name: "before" }), this.sectionTitle && index.h("h2", { key: 'a02b9a1446fff2885132941a61f5163f5b98656a', class: "forja-gallery__title" }, this.sectionTitle), this.text && index.h("div", { key: '767ff1cf923beff6e586a913058bc2968b0b9241', class: "forja-gallery__text", innerHTML: sanitize.sanitizeHtml(this.text) }), hasItems ? (index.h("div", { class: "forja-gallery__grid", role: "list", "data-columns": this.columns }, this.items.map(item => (index.h("figure", { class: "forja-gallery__item", role: "listitem" }, index.h("img", { src: item.imageUrl, alt: item.alt || '', class: "forja-gallery__image", loading: "lazy" }), item.caption && index.h("figcaption", { class: "forja-gallery__caption" }, item.caption)))))) : (index.h("div", { class: "forja-gallery__grid", role: "list", "data-columns": this.columns }, index.h("slot", null))), index.h("slot", { key: 'f4a66f40c12f72734e8006747391d492bb0de8a4', name: "after" })));
|
|
13
14
|
}
|
|
14
15
|
};
|
|
15
16
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaHero = class {
|
|
@@ -13,7 +14,7 @@ const ForjaHero = class {
|
|
|
13
14
|
this.fullWidth && 'forja-hero--full-width',
|
|
14
15
|
this.gradient && 'forja-hero--gradient',
|
|
15
16
|
].filter(Boolean).join(' ');
|
|
16
|
-
return (index.h("section", { key: '
|
|
17
|
+
return (index.h("section", { key: '42b4b55ee4f08c809edbf4980a25212b534f943b', class: classes, "aria-label": a11y.sectionLabel(this.sectionTitle, 'Hero') }, index.h("slot", { key: '6f1f2688abbdb6dfd5e3ffcd967b2fb646dd47bb', name: "before" }), this.imageUrl && (index.h("img", { key: '4bdfab1196aaee43884c8c185ca770ecb4cf6ce9', src: this.imageUrl, alt: this.imageAlt || '', class: "forja-hero__image", loading: "eager" })), index.h("div", { key: '4ca0a9b9a9df7fbadd0d83d9ed00015149d37a9c', class: "forja-hero__content" }, this.sectionTitle && index.h("h2", { key: '1feb3bb8b632609d10498a4020d62d8cf813e7ca', class: "forja-hero__title" }, this.sectionTitle), this.text && index.h("div", { key: '59f1a37170e3305854caa56bbd98a1bd6216dfcd', class: "forja-hero__text", innerHTML: sanitize.sanitizeHtml(this.text) }), this.buttonText && this.buttonHref && (index.h("a", { key: '191fbb98c9f11d10863b081540ab84ee9dc5e6c7', href: this.buttonHref, class: "forja-hero__cta" }, this.buttonText))), index.h("slot", { key: 'a01d8c4271bfd687897b906626e9f14255ee078d', name: "after" })));
|
|
17
18
|
}
|
|
18
19
|
};
|
|
19
20
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
var index$1 = require('./index.cjs.js');
|
|
6
7
|
|
|
@@ -39,7 +40,7 @@ const ForjaLegal = class {
|
|
|
39
40
|
? index$1.LEGAL_DOC_TYPE_LABELS[this.documentType] || this.documentType
|
|
40
41
|
: undefined;
|
|
41
42
|
const displayDate = this.effectiveDate || this.updatedAt || this.createdAt;
|
|
42
|
-
return (index.h("article", { key: '
|
|
43
|
+
return (index.h("article", { key: 'f642e7adfbba096d8c6ea683d9227d0319409dc2', class: "forja-legal", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Legal document') }, index.h("header", { key: 'acaf35f2c653c9093ccd48779b7540766ac5794a', class: "forja-legal__header" }, this.sectionTitle && index.h("h1", { key: 'e1a06a6c02754025f89054d564b88539ad0b4119', class: "forja-legal__title" }, this.sectionTitle), this.hasMetadata() && (index.h("div", { key: '6494e1b855682694e9eb19e234481fa5214eea70', class: "forja-legal__meta" }, this.showDocumentType && typeLabel && (index.h("span", { key: 'f077ab7a31892a01bd95bda259d11b9ed19a6a88', class: "forja-legal__type" }, typeLabel)), this.showVersion && this.version != null && (index.h("span", { key: 'bf5157e4a53935c577952a230dfeeb7a9d72c521', class: "forja-legal__version" }, "Version ", this.version)), this.showDates && displayDate && (index.h("time", { key: 'be166fdf2fbc4a99caef139f56662f80a2f09b2e', class: "forja-legal__date", dateTime: displayDate }, this.effectiveDate ? 'Effective ' : 'Updated ', this.formatDate(displayDate)))))), this.showIntro && this.intro && (index.h("div", { key: 'c21f507daffc033b214ac6db5115b17aa3bc2315', class: "forja-legal__intro", innerHTML: sanitize.sanitizeHtml(this.intro) })), this.body ? (index.h("div", { class: "forja-legal__body", innerHTML: sanitize.sanitizeHtml(this.body) })) : (index.h("div", { class: "forja-legal__body" }, index.h("slot", null)))));
|
|
43
44
|
}
|
|
44
45
|
};
|
|
45
46
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaLogoCloud = class {
|
|
@@ -13,7 +14,7 @@ const ForjaLogoCloud = class {
|
|
|
13
14
|
'forja-logo-cloud',
|
|
14
15
|
this.grayscale && 'forja-logo-cloud--grayscale',
|
|
15
16
|
].filter(Boolean).join(' ');
|
|
16
|
-
return (index.h("section", { key: '
|
|
17
|
+
return (index.h("section", { key: '32a98374780f2f556321baa7978d7746bb815e11', class: classes, "aria-label": a11y.sectionLabel(this.sectionTitle, 'Partners') }, index.h("slot", { key: 'd422f40488b640e8b5c4d7b8a2d66bd144fc8150', name: "before" }), this.sectionTitle && index.h("h2", { key: 'e432f9ea6ea33ce8500eabca8d64ec6c6cf2608f', class: "forja-logo-cloud__title" }, this.sectionTitle), this.text && index.h("div", { key: 'f0c18aa34a98a9789baafb30ce2d3fdaf3be45ce', class: "forja-logo-cloud__text", innerHTML: sanitize.sanitizeHtml(this.text) }), hasLogos ? (index.h("ul", { class: "forja-logo-cloud__grid", role: "list", "data-columns": this.columns }, this.logos.map(logo => (index.h("li", { class: "forja-logo-cloud__item" }, logo.href ? (index.h("a", { href: logo.href, class: "forja-logo-cloud__link", target: "_blank", rel: "noopener" }, index.h("img", { src: logo.imageUrl, alt: logo.alt, class: "forja-logo-cloud__image", loading: "lazy" }))) : (index.h("img", { src: logo.imageUrl, alt: logo.alt, class: "forja-logo-cloud__image", loading: "lazy" }))))))) : (index.h("slot", null)), index.h("slot", { key: '190222aa2c2d029d4c1f8fa1c21a42fa1e801795', name: "after" })));
|
|
17
18
|
}
|
|
18
19
|
};
|
|
19
20
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
var altcha = require('./altcha-J8QlF6y1.js');
|
|
6
7
|
|
|
@@ -31,8 +32,8 @@ const ForjaNewsletter = class {
|
|
|
31
32
|
render() {
|
|
32
33
|
const emailId = a11y.sectionId(this.sectionTitle, 'newsletter-email');
|
|
33
34
|
const nameId = a11y.sectionId(this.sectionTitle, 'newsletter-name');
|
|
34
|
-
return (index.h("section", { key: '
|
|
35
|
-
altcha.renderAltchaWidget(this.altchaChallengeUrl, 'forja-newsletter-altcha'), this.botProtectionUnsolved && (index.h("p", { key: '
|
|
35
|
+
return (index.h("section", { key: '1eebd751804580bc44881d70692d79090869429e', class: "forja-newsletter", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Newsletter') }, index.h("slot", { key: '26aa48a4902487a440f6f528c4b624593f3dae2f', name: "before" }), this.sectionTitle && index.h("h2", { key: '0c2ec6c385a03c4aaaf5f514ca4b780c46160875', class: "forja-newsletter__title" }, this.sectionTitle), this.text && index.h("div", { key: 'd010e38b4a0bd89f63400f2718a1d99e83e691ab', class: "forja-newsletter__text", innerHTML: sanitize.sanitizeHtml(this.text) }), index.h("form", { key: 'b94227214cc56bd347531f282dcadfe6a14a9121', class: "forja-newsletter__form", action: this.formAction, method: this.formAction ? 'post' : undefined, onSubmit: this.handleSubmit }, this.showName && (index.h("div", { key: 'd9d4935d8cf5596c5cf0537dcf8bce8a607a0fbb', class: "forja-newsletter__field" }, index.h("label", { key: '8d1cb78490566709d251b3eac84631efc7bd3b8b', class: "forja-newsletter__label", htmlFor: nameId }, "Name"), index.h("input", { key: 'fed5928d28416aca59de23a94b6ff536822a4e2b', id: nameId, name: "name", type: "text", class: "forja-newsletter__input" }))), index.h("div", { key: '862e08935374349422fa20ce513dd490eb1a9e4f', class: "forja-newsletter__field" }, index.h("label", { key: '9fcabeca3d01a4d5f23317abe2b97b8149396d07', class: "forja-newsletter__label", htmlFor: emailId }, "Email"), index.h("input", { key: 'd19c80b577109b978fa53a56847b4c1d35acefb0', id: emailId, name: "email", type: "email", class: "forja-newsletter__input", required: true, "aria-required": "true" })), this.requiresAltcha &&
|
|
36
|
+
altcha.renderAltchaWidget(this.altchaChallengeUrl, 'forja-newsletter-altcha'), this.botProtectionUnsolved && (index.h("p", { key: '863c705d1edfe9ab99441af7daf6feb01e66286f', class: "forja-newsletter__error", role: "alert", "data-testid": "forja-newsletter-altcha-error" }, "Please complete the verification before submitting.")), index.h("button", { key: 'e0923cd8919914c04853adfe24982cf45118c913', type: "submit", class: "forja-newsletter__submit" }, this.buttonText)), index.h("slot", { key: '38f8f6b4f0dee4eeedb79f030a7d50a6302a71a2', name: "after" })));
|
|
36
37
|
}
|
|
37
38
|
};
|
|
38
39
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaPortfolio = class {
|
|
@@ -10,12 +11,12 @@ const ForjaPortfolio = class {
|
|
|
10
11
|
renderExperiences() {
|
|
11
12
|
if (!this.experiences || this.experiences.length === 0)
|
|
12
13
|
return null;
|
|
13
|
-
return (index.h("div", { class: "forja-portfolio__experiences" }, index.h("h3", { class: "forja-portfolio__group-title" }, "Experience"), index.h("ol", { class: "forja-portfolio__list" }, this.experiences.map(exp => (index.h("li", { class: "forja-portfolio__entry" }, index.h("article", { class: "forja-portfolio__card" }, exp.logoUrl && (index.h("img", { src: exp.logoUrl, alt: "", class: "forja-portfolio__logo", loading: "lazy" })), index.h("div", { class: "forja-portfolio__details" }, index.h("h4", { class: "forja-portfolio__role" }, exp.role), index.h("p", { class: "forja-portfolio__company" }, exp.company), exp.period && index.h("time", { class: "forja-portfolio__period" }, exp.period), exp.description && (index.h("div", { class: "forja-portfolio__description", innerHTML: exp.description }))))))))));
|
|
14
|
+
return (index.h("div", { class: "forja-portfolio__experiences" }, index.h("h3", { class: "forja-portfolio__group-title" }, "Experience"), index.h("ol", { class: "forja-portfolio__list" }, this.experiences.map(exp => (index.h("li", { class: "forja-portfolio__entry" }, index.h("article", { class: "forja-portfolio__card" }, exp.logoUrl && (index.h("img", { src: exp.logoUrl, alt: "", class: "forja-portfolio__logo", loading: "lazy" })), index.h("div", { class: "forja-portfolio__details" }, index.h("h4", { class: "forja-portfolio__role" }, exp.role), index.h("p", { class: "forja-portfolio__company" }, exp.company), exp.period && index.h("time", { class: "forja-portfolio__period" }, exp.period), exp.description && (index.h("div", { class: "forja-portfolio__description", innerHTML: sanitize.sanitizeHtml(exp.description) }))))))))));
|
|
14
15
|
}
|
|
15
16
|
renderEducation() {
|
|
16
17
|
if (!this.education || this.education.length === 0)
|
|
17
18
|
return null;
|
|
18
|
-
return (index.h("div", { class: "forja-portfolio__education" }, index.h("h3", { class: "forja-portfolio__group-title" }, "Education"), index.h("ol", { class: "forja-portfolio__list" }, this.education.map(edu => (index.h("li", { class: "forja-portfolio__entry" }, index.h("article", { class: "forja-portfolio__card" }, index.h("div", { class: "forja-portfolio__details" }, index.h("h4", { class: "forja-portfolio__role" }, edu.degree), index.h("p", { class: "forja-portfolio__company" }, edu.institution), edu.period && index.h("time", { class: "forja-portfolio__period" }, edu.period), edu.description && (index.h("div", { class: "forja-portfolio__description", innerHTML: edu.description }))))))))));
|
|
19
|
+
return (index.h("div", { class: "forja-portfolio__education" }, index.h("h3", { class: "forja-portfolio__group-title" }, "Education"), index.h("ol", { class: "forja-portfolio__list" }, this.education.map(edu => (index.h("li", { class: "forja-portfolio__entry" }, index.h("article", { class: "forja-portfolio__card" }, index.h("div", { class: "forja-portfolio__details" }, index.h("h4", { class: "forja-portfolio__role" }, edu.degree), index.h("p", { class: "forja-portfolio__company" }, edu.institution), edu.period && index.h("time", { class: "forja-portfolio__period" }, edu.period), edu.description && (index.h("div", { class: "forja-portfolio__description", innerHTML: sanitize.sanitizeHtml(edu.description) }))))))))));
|
|
19
20
|
}
|
|
20
21
|
renderSkills() {
|
|
21
22
|
if (!this.skills || this.skills.length === 0)
|
|
@@ -30,7 +31,7 @@ const ForjaPortfolio = class {
|
|
|
30
31
|
return (index.h("div", { class: "forja-portfolio__skills" }, index.h("h3", { class: "forja-portfolio__group-title" }, "Skills"), Object.entries(grouped).map(([category, items]) => (index.h("div", { class: "forja-portfolio__skill-group" }, Object.keys(grouped).length > 1 && (index.h("h4", { class: "forja-portfolio__skill-category" }, category)), index.h("ul", { class: "forja-portfolio__skill-list", "data-columns": this.columns }, items.map(skill => (index.h("li", { class: "forja-portfolio__skill" }, skill.name)))))))));
|
|
31
32
|
}
|
|
32
33
|
render() {
|
|
33
|
-
return (index.h("section", { key: '
|
|
34
|
+
return (index.h("section", { key: '63f3b34c130f4a095b33d171af54368df52e29bf', class: "forja-portfolio", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Portfolio') }, index.h("slot", { key: '00bdd66a9c499f502140368cf561f8814487b3b6', name: "before" }), this.sectionTitle && index.h("h2", { key: '5c9612c2fac3865df9de34f085d0c29b80c4d644', class: "forja-portfolio__title" }, this.sectionTitle), this.text && index.h("div", { key: '8c1fa3dbf2297ffcaea0ca2262617d2a484e0cb5', class: "forja-portfolio__text", innerHTML: sanitize.sanitizeHtml(this.text) }), this.renderExperiences(), this.renderEducation(), this.renderSkills(), index.h("slot", { key: 'fb754d6ce902396f664d99b7493937e0eb122a93', name: "after" })));
|
|
34
35
|
}
|
|
35
36
|
};
|
|
36
37
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaPricing = class {
|
|
@@ -9,7 +10,7 @@ const ForjaPricing = class {
|
|
|
9
10
|
}
|
|
10
11
|
render() {
|
|
11
12
|
const hasTiers = this.tiers && this.tiers.length > 0;
|
|
12
|
-
return (index.h("section", { key: '
|
|
13
|
+
return (index.h("section", { key: '0fa9667baca6787cb1582a4a1bf02ea75ebc5c03', class: "forja-pricing", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Pricing') }, index.h("slot", { key: 'acb3184a17e40f128bb4173023fe94b0e909f96f', name: "before" }), (this.sectionTitle || this.text) && (index.h("div", { key: 'e8933bfc5fc73375546d36b75fa6b4b33876da00', class: "forja-pricing__header" }, this.sectionTitle && index.h("h2", { key: '8c91a9833c83e0bbb025a75e4b0143becf7f6b99', class: "forja-pricing__title" }, this.sectionTitle), this.text && index.h("div", { key: '1fb8805e9555f246cc0d12d74f73c549c2f7c377', class: "forja-pricing__text", innerHTML: sanitize.sanitizeHtml(this.text) }))), hasTiers ? (index.h("div", { class: "forja-pricing__tiers", role: "list", "data-columns": this.columns }, this.tiers.map(tier => (index.h("div", { class: `forja-pricing__tier${tier.highlighted ? ' forja-pricing__tier--highlighted' : ''}`, role: "listitem" }, index.h("h3", { class: "forja-pricing__tier-name" }, tier.name), index.h("div", { class: "forja-pricing__price" }, index.h("span", { class: "forja-pricing__amount" }, tier.price), tier.period && index.h("span", { class: "forja-pricing__period" }, tier.period)), tier.description && index.h("p", { class: "forja-pricing__description" }, tier.description), tier.features && tier.features.length > 0 && (index.h("ul", { class: "forja-pricing__features" }, tier.features.map(feature => (index.h("li", { class: "forja-pricing__feature" }, feature))))), tier.buttonText && tier.buttonHref && (index.h("a", { href: tier.buttonHref, class: "forja-pricing__cta" }, tier.buttonText))))))) : (index.h("div", { class: "forja-pricing__tiers", role: "list", "data-columns": this.columns }, index.h("slot", null))), index.h("slot", { key: 'c8d3a75d234e7bf5eafbf540f31d24bcf412ee6c', name: "after" })));
|
|
13
14
|
}
|
|
14
15
|
};
|
|
15
16
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaProjects = class {
|
|
@@ -9,7 +10,7 @@ const ForjaProjects = class {
|
|
|
9
10
|
}
|
|
10
11
|
render() {
|
|
11
12
|
const hasItems = this.items && this.items.length > 0;
|
|
12
|
-
return (index.h("section", { key: '
|
|
13
|
+
return (index.h("section", { key: '119d627bafc46c00ba92d2cf15e45f9a21d58a75', class: "forja-projects", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Projects') }, index.h("slot", { key: '169d7ff003c11cd6f8f19a95103becb8ac3c8059', name: "before" }), this.sectionTitle && index.h("h2", { key: '586f008cae7843cdbaf25b35c2471d4b78f67fc4', class: "forja-projects__title" }, this.sectionTitle), this.text && index.h("div", { key: '3d1a2e7c20609d6abafcc11150dc788edaf51a8d', class: "forja-projects__text", innerHTML: sanitize.sanitizeHtml(this.text) }), hasItems ? (index.h("div", { class: "forja-projects__grid", role: "list", "data-columns": this.columns }, this.items.map(item => (index.h("article", { class: "forja-projects__card", role: "listitem" }, item.imageUrl && (index.h("img", { src: item.imageUrl, alt: "", class: "forja-projects__image", loading: "lazy" })), index.h("div", { class: "forja-projects__content" }, index.h("div", { class: "forja-projects__header" }, index.h("h3", { class: "forja-projects__name" }, item.href ? (index.h("a", { href: item.href, class: "forja-projects__link" }, item.title)) : (item.title)), item.status && (index.h("span", { class: "forja-projects__status" }, item.status))), item.description && (index.h("div", { class: "forja-projects__description", innerHTML: sanitize.sanitizeHtml(item.description) })), item.tags && item.tags.length > 0 && (index.h("ul", { class: "forja-projects__tags" }, item.tags.map(tag => (index.h("li", { class: "forja-projects__tag" }, tag))))))))))) : (index.h("slot", null)), index.h("slot", { key: 'ff07a71746a1db326a13cbb2c3c83017e3b56b81', name: "after" })));
|
|
13
14
|
}
|
|
14
15
|
};
|
|
15
16
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
|
|
5
6
|
const TAG_MAP = {
|
|
6
7
|
Hero: 'forja-hero',
|
|
@@ -32,7 +33,7 @@ const ForjaSectionRenderer = class {
|
|
|
32
33
|
render() {
|
|
33
34
|
const tag = TAG_MAP[this.sectionType];
|
|
34
35
|
if (!tag) {
|
|
35
|
-
return (index.h("section", { class: "forja-custom" }, this.sectionTitle && index.h("h2", { class: "forja-custom__title" }, this.sectionTitle), this.text && index.h("div", { class: "forja-custom__text", innerHTML: this.text }), index.h("slot", null)));
|
|
36
|
+
return (index.h("section", { class: "forja-custom" }, this.sectionTitle && index.h("h2", { class: "forja-custom__title" }, this.sectionTitle), this.text && index.h("div", { class: "forja-custom__text", innerHTML: sanitize.sanitizeHtml(this.text) }), index.h("slot", null)));
|
|
36
37
|
}
|
|
37
38
|
const Tag = tag;
|
|
38
39
|
return (index.h(Tag, { sectionTitle: this.sectionTitle, text: this.text, imageUrl: this.imageUrl, imageAlt: this.imageAlt, buttonText: this.buttonText, buttonHref: this.buttonHref, items: this.items }, index.h("slot", null)));
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaStats = class {
|
|
@@ -13,7 +14,7 @@ const ForjaStats = class {
|
|
|
13
14
|
'forja-stats',
|
|
14
15
|
this.statsStyle && `forja-stats--${this.statsStyle}`,
|
|
15
16
|
].filter(Boolean).join(' ');
|
|
16
|
-
return (index.h("section", { key: '
|
|
17
|
+
return (index.h("section", { key: '16d26cffee661393f90a1195ff57c4b30c66bc15', class: classes, "aria-label": a11y.sectionLabel(this.sectionTitle, 'Statistics') }, index.h("slot", { key: '51e46f4d758f9342bfe2aed682b8a4ff1f1e269d', name: "before" }), this.sectionTitle && index.h("h2", { key: '2e1be227a21fd525516d900243160a1a27717dbe', class: "forja-stats__title" }, this.sectionTitle), this.text && index.h("div", { key: 'dd85a0cd774a9414279ed3fe9a08596ad87e9deb', class: "forja-stats__text", innerHTML: sanitize.sanitizeHtml(this.text) }), hasItems ? (index.h("dl", { class: "forja-stats__list", "data-columns": this.columns }, this.items.map(item => (index.h("div", { class: "forja-stats__item" }, index.h("dd", { class: "forja-stats__value" }, item.value), index.h("dt", { class: "forja-stats__label" }, item.label)))))) : (index.h("slot", null)), index.h("slot", { key: '06f60fda6b1fcd094c5c8884590166fe596bd6ad', name: "after" })));
|
|
17
18
|
}
|
|
18
19
|
};
|
|
19
20
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaTagCloud = class {
|
|
@@ -9,7 +10,7 @@ const ForjaTagCloud = class {
|
|
|
9
10
|
}
|
|
10
11
|
render() {
|
|
11
12
|
const hasTags = this.tags && this.tags.length > 0;
|
|
12
|
-
return (index.h("section", { key: '
|
|
13
|
+
return (index.h("section", { key: '30388284d5f25b7cc10c074bf710b4a375ef57b1', class: "forja-tag-cloud", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Tags') }, index.h("slot", { key: '492399e2cb8e3b0da1324d205d7a66fff097e9ba', name: "before" }), this.sectionTitle && index.h("h2", { key: 'e3797744d9a6d6d1775fb10190a439d2c45e633f', class: "forja-tag-cloud__title" }, this.sectionTitle), this.text && index.h("div", { key: 'f21a62fb8fa9711116eb7aad508f6d685b245f6e', class: "forja-tag-cloud__text", innerHTML: sanitize.sanitizeHtml(this.text) }), hasTags ? (index.h("nav", { class: "forja-tag-cloud__nav", "aria-label": "Tags" }, index.h("ul", { class: "forja-tag-cloud__list", role: "list" }, this.tags.map(tag => (index.h("li", { class: "forja-tag-cloud__item" }, tag.href ? (index.h("a", { href: tag.href, class: "forja-tag-cloud__tag" }, index.h("span", { class: "forja-tag-cloud__label" }, tag.label), tag.count != null && (index.h("span", { class: "forja-tag-cloud__count", "aria-label": `${tag.count} items` }, "(", tag.count, ")")))) : (index.h("span", { class: "forja-tag-cloud__tag" }, index.h("span", { class: "forja-tag-cloud__label" }, tag.label), tag.count != null && (index.h("span", { class: "forja-tag-cloud__count", "aria-label": `${tag.count} items` }, "(", tag.count, ")")))))))))) : (index.h("slot", null)), index.h("slot", { key: '98f74d72091ce7a6cf83ace8cbef942ae79dd7e8', name: "after" })));
|
|
13
14
|
}
|
|
14
15
|
};
|
|
15
16
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaTeam = class {
|
|
@@ -11,7 +12,7 @@ const ForjaTeam = class {
|
|
|
11
12
|
}
|
|
12
13
|
render() {
|
|
13
14
|
const hasMembers = this.members && this.members.length > 0;
|
|
14
|
-
return (index.h("section", { key: '
|
|
15
|
+
return (index.h("section", { key: 'ea2d15e45c674d472ec5a15898e96c3594e94339', class: "forja-team", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Team') }, index.h("slot", { key: 'f383085ab54f1bfc96163725468c2fd23f78ccd1', name: "before" }), this.sectionTitle && index.h("h2", { key: 'ce535389de00e3c85eda72f45aac8122eaf0e315', class: "forja-team__title" }, this.sectionTitle), this.text && index.h("div", { key: '092692887fcae1f16af695f0aa576079ee0fab22', class: "forja-team__text", innerHTML: sanitize.sanitizeHtml(this.text) }), hasMembers ? (index.h("ul", { class: "forja-team__grid", role: "list", "data-columns": this.columns }, this.members.map(member => (index.h("li", { class: "forja-team__member" }, member.imageUrl && (index.h("figure", { class: "forja-team__photo" }, index.h("img", { src: member.imageUrl, alt: member.name, class: "forja-team__image", loading: "lazy" }))), index.h("h3", { class: "forja-team__name" }, member.name), this.showRole && member.role && index.h("p", { class: "forja-team__role" }, member.role), this.showBio && member.bio && index.h("p", { class: "forja-team__bio" }, member.bio)))))) : (index.h("slot", null)), index.h("slot", { key: '345b8cb5ba4322d9a39b087fa5b7a3647c9f8b3e', name: "after" })));
|
|
15
16
|
}
|
|
16
17
|
};
|
|
17
18
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaTestimonials = class {
|
|
@@ -9,7 +10,7 @@ const ForjaTestimonials = class {
|
|
|
9
10
|
}
|
|
10
11
|
render() {
|
|
11
12
|
const hasItems = this.items && this.items.length > 0;
|
|
12
|
-
return (index.h("section", { key: '
|
|
13
|
+
return (index.h("section", { key: '4cd7db1d63d4841f6907c1d4b765cdf873993ed0', class: "forja-testimonials", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Testimonials') }, index.h("slot", { key: '52906ccd7177f318637f84ea3a00950e5ed05cc0', name: "before" }), this.sectionTitle && index.h("h2", { key: 'bdab4a7059ec36ff2451472dac1a3255d5064a1a', class: "forja-testimonials__title" }, this.sectionTitle), this.text && index.h("div", { key: '26408ec662085ace7ef3d57569750829163f006d', class: "forja-testimonials__text", innerHTML: sanitize.sanitizeHtml(this.text) }), hasItems ? (index.h("div", { class: "forja-testimonials__list", role: "list", "data-columns": this.columns }, this.items.map(item => (index.h("blockquote", { class: "forja-testimonials__item", role: "listitem" }, index.h("p", { class: "forja-testimonials__quote" }, item.quote), index.h("footer", { class: "forja-testimonials__attribution" }, item.avatarUrl && (index.h("img", { src: item.avatarUrl, alt: "", class: "forja-testimonials__avatar", loading: "lazy" })), index.h("cite", { class: "forja-testimonials__author" }, index.h("span", { class: "forja-testimonials__name" }, item.author), item.role && index.h("span", { class: "forja-testimonials__role" }, item.role)))))))) : (index.h("div", { class: "forja-testimonials__list", role: "list", "data-columns": this.columns }, index.h("slot", null))), index.h("slot", { key: '871d917e08a3c7e375d9bcab16265e891ec1c1ce', name: "after" })));
|
|
13
14
|
}
|
|
14
15
|
};
|
|
15
16
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaTextBlock = class {
|
|
@@ -15,7 +16,7 @@ const ForjaTextBlock = class {
|
|
|
15
16
|
`forja-text--${this.width}`,
|
|
16
17
|
`forja-text--${this.alignment}`,
|
|
17
18
|
].join(' ');
|
|
18
|
-
return (index.h("section", { key: '
|
|
19
|
+
return (index.h("section", { key: 'acd5fa21ff60f2d9cb58b47f5f315232fe911ded', class: classes, "aria-label": a11y.sectionLabel(this.sectionTitle, 'Content') }, index.h("slot", { key: '23f5c5889e2c7c2f715fb4692d535381992593b5', name: "before" }), this.sectionTitle && index.h("h2", { key: '400dee8b59d1e7225829a6b3343c25ebdc254748', class: "forja-text__title" }, this.sectionTitle), this.text ? (index.h("div", { class: "forja-text__content", innerHTML: sanitize.sanitizeHtml(this.text) })) : (index.h("div", { class: "forja-text__content" }, index.h("slot", null))), index.h("slot", { key: '053bd1a5cf2325211486a40e98c4c4878372a85e', name: "after" })));
|
|
19
20
|
}
|
|
20
21
|
};
|
|
21
22
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaTimeline = class {
|
|
@@ -12,7 +13,7 @@ const ForjaTimeline = class {
|
|
|
12
13
|
render() {
|
|
13
14
|
const hasEvents = this.events && this.events.length > 0;
|
|
14
15
|
const classes = ['forja-timeline', `forja-timeline--${this.layout}`].join(' ');
|
|
15
|
-
return (index.h("section", { key: '
|
|
16
|
+
return (index.h("section", { key: '66d51cf72ef9810181e94598c5548ce030f38000', class: classes, "aria-label": a11y.sectionLabel(this.sectionTitle, 'Timeline') }, index.h("slot", { key: '4ab32a6ed128de236776736bf6827ec5c4cb3e81', name: "before" }), this.sectionTitle && index.h("h2", { key: 'dadfa8106adbeb8d8e9235d85fa1fd09b43e6403', class: "forja-timeline__title" }, this.sectionTitle), this.text && index.h("div", { key: '44e8678d051475a3d0bfd2cb74914920dd8a87d2', class: "forja-timeline__text", innerHTML: sanitize.sanitizeHtml(this.text) }), hasEvents ? (index.h("ol", { class: "forja-timeline__list" }, this.events.map(event => (index.h("li", { class: "forja-timeline__item" }, this.showDates && event.date && (index.h("time", { class: "forja-timeline__date" }, event.date)), index.h("h3", { class: "forja-timeline__event-title" }, event.title), event.text && index.h("div", { class: "forja-timeline__event-text", innerHTML: sanitize.sanitizeHtml(event.text) })))))) : (index.h("slot", null)), index.h("slot", { key: '60c0f3db4c8d00bfa49199058822eaf83fecbc4c', name: "after" })));
|
|
16
17
|
}
|
|
17
18
|
};
|
|
18
19
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DPGUrkdx.js');
|
|
4
|
+
var sanitize = require('./sanitize-CW5vDvZT.js');
|
|
4
5
|
var a11y = require('./a11y-IAJPjMwx.js');
|
|
5
6
|
|
|
6
7
|
const ForjaVideo = class {
|
|
@@ -23,7 +24,7 @@ const ForjaVideo = class {
|
|
|
23
24
|
}
|
|
24
25
|
render() {
|
|
25
26
|
const classes = ['forja-video', this.getAspectClass()].join(' ');
|
|
26
|
-
return (index.h("section", { key: '
|
|
27
|
+
return (index.h("section", { key: '92b7b2eeb9dbd52e247a7d70107ffbf693ffaf0f', class: classes, "aria-label": a11y.sectionLabel(this.sectionTitle, 'Video') }, index.h("slot", { key: 'c68fc47e18569abfb4443f8d651669c0e31d8dba', name: "before" }), this.sectionTitle && index.h("h2", { key: '1120b255666256f2ca82c4c6c18317c917a3a7ec', class: "forja-video__title" }, this.sectionTitle), this.text && index.h("div", { key: 'fe22b0b6e8c3da99bff6294214d00237067b656b', class: "forja-video__text", innerHTML: sanitize.sanitizeHtml(this.text) }), this.videoUrl && (index.h("figure", { key: 'a58dc5b318f4f8d2a9192d1ccf19dda4af485e8a', class: "forja-video__container" }, this.isSelfHosted() ? (index.h("video", { class: "forja-video__player", src: this.videoUrl, controls: true, autoplay: this.autoplay }, index.h("track", { kind: "captions" }))) : (index.h("iframe", { class: "forja-video__embed", src: this.autoplay ? `${this.videoUrl}?autoplay=1` : this.videoUrl, title: this.sectionTitle || 'Embedded video', allowFullScreen: true, loading: "lazy" })))), index.h("slot", { key: '58adbc175cda23db8067b3bc61ac93aa1cf4b77f', name: "after" })));
|
|
27
28
|
}
|
|
28
29
|
};
|
|
29
30
|
|