@forjacms/sections 1.7.9 → 1.8.1

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.
Files changed (137) hide show
  1. package/README.md +10 -0
  2. package/dist/cjs/forja-blog.cjs.entry.js +2 -1
  3. package/dist/cjs/forja-contact.cjs.entry.js +3 -2
  4. package/dist/cjs/forja-cta.cjs.entry.js +2 -1
  5. package/dist/cjs/forja-faq.cjs.entry.js +2 -1
  6. package/dist/cjs/forja-features.cjs.entry.js +2 -1
  7. package/dist/cjs/forja-gallery.cjs.entry.js +2 -1
  8. package/dist/cjs/forja-hero.cjs.entry.js +2 -1
  9. package/dist/cjs/forja-legal.cjs.entry.js +2 -1
  10. package/dist/cjs/forja-logo-cloud.cjs.entry.js +2 -1
  11. package/dist/cjs/forja-newsletter.cjs.entry.js +3 -2
  12. package/dist/cjs/forja-portfolio.cjs.entry.js +4 -3
  13. package/dist/cjs/forja-pricing.cjs.entry.js +2 -1
  14. package/dist/cjs/forja-projects.cjs.entry.js +2 -1
  15. package/dist/cjs/forja-section-renderer.cjs.entry.js +2 -1
  16. package/dist/cjs/forja-stats.cjs.entry.js +2 -1
  17. package/dist/cjs/forja-tag-cloud.cjs.entry.js +2 -1
  18. package/dist/cjs/forja-team.cjs.entry.js +2 -1
  19. package/dist/cjs/forja-testimonials.cjs.entry.js +2 -1
  20. package/dist/cjs/forja-text-block.cjs.entry.js +2 -1
  21. package/dist/cjs/forja-timeline.cjs.entry.js +2 -1
  22. package/dist/cjs/forja-video.cjs.entry.js +2 -1
  23. package/dist/cjs/sanitize-CW5vDvZT.js +12038 -0
  24. package/dist/collection/components/forja-blog/forja-blog.js +2 -1
  25. package/dist/collection/components/forja-contact/forja-contact.js +3 -2
  26. package/dist/collection/components/forja-cta/forja-cta.js +2 -1
  27. package/dist/collection/components/forja-faq/forja-faq.js +2 -1
  28. package/dist/collection/components/forja-features/forja-features.js +2 -1
  29. package/dist/collection/components/forja-gallery/forja-gallery.js +2 -1
  30. package/dist/collection/components/forja-hero/forja-hero.js +2 -1
  31. package/dist/collection/components/forja-legal/forja-legal.js +2 -1
  32. package/dist/collection/components/forja-logo-cloud/forja-logo-cloud.js +2 -1
  33. package/dist/collection/components/forja-newsletter/forja-newsletter.js +3 -2
  34. package/dist/collection/components/forja-portfolio/forja-portfolio.js +4 -3
  35. package/dist/collection/components/forja-pricing/forja-pricing.js +2 -1
  36. package/dist/collection/components/forja-projects/forja-projects.js +2 -1
  37. package/dist/collection/components/forja-section-renderer/forja-section-renderer.js +2 -1
  38. package/dist/collection/components/forja-stats/forja-stats.js +2 -1
  39. package/dist/collection/components/forja-tag-cloud/forja-tag-cloud.js +2 -1
  40. package/dist/collection/components/forja-team/forja-team.js +2 -1
  41. package/dist/collection/components/forja-testimonials/forja-testimonials.js +2 -1
  42. package/dist/collection/components/forja-text-block/forja-text-block.js +2 -1
  43. package/dist/collection/components/forja-timeline/forja-timeline.js +2 -1
  44. package/dist/collection/components/forja-video/forja-video.js +2 -1
  45. package/dist/collection/utils/sanitize.js +28 -0
  46. package/dist/collection/utils/sanitize.unit.js +36 -0
  47. package/dist/components/forja-blog.js +1 -1
  48. package/dist/components/forja-contact.js +1 -1
  49. package/dist/components/forja-cta.js +1 -1
  50. package/dist/components/forja-faq.js +1 -1
  51. package/dist/components/forja-features.js +1 -1
  52. package/dist/components/forja-gallery.js +1 -1
  53. package/dist/components/forja-hero.js +1 -1
  54. package/dist/components/forja-legal.js +1 -1
  55. package/dist/components/forja-logo-cloud.js +1 -1
  56. package/dist/components/forja-newsletter.js +1 -1
  57. package/dist/components/forja-portfolio.js +1 -1
  58. package/dist/components/forja-pricing.js +1 -1
  59. package/dist/components/forja-projects.js +1 -1
  60. package/dist/components/forja-section-renderer.js +1 -1
  61. package/dist/components/forja-stats.js +1 -1
  62. package/dist/components/forja-tag-cloud.js +1 -1
  63. package/dist/components/forja-team.js +1 -1
  64. package/dist/components/forja-testimonials.js +1 -1
  65. package/dist/components/forja-text-block.js +1 -1
  66. package/dist/components/forja-timeline.js +1 -1
  67. package/dist/components/forja-video.js +1 -1
  68. package/dist/components/p-D6KWgfCs.js +7 -0
  69. package/dist/esm/forja-blog.entry.js +2 -1
  70. package/dist/esm/forja-contact.entry.js +3 -2
  71. package/dist/esm/forja-cta.entry.js +2 -1
  72. package/dist/esm/forja-faq.entry.js +2 -1
  73. package/dist/esm/forja-features.entry.js +2 -1
  74. package/dist/esm/forja-gallery.entry.js +2 -1
  75. package/dist/esm/forja-hero.entry.js +2 -1
  76. package/dist/esm/forja-legal.entry.js +2 -1
  77. package/dist/esm/forja-logo-cloud.entry.js +2 -1
  78. package/dist/esm/forja-newsletter.entry.js +3 -2
  79. package/dist/esm/forja-portfolio.entry.js +4 -3
  80. package/dist/esm/forja-pricing.entry.js +2 -1
  81. package/dist/esm/forja-projects.entry.js +2 -1
  82. package/dist/esm/forja-section-renderer.entry.js +2 -1
  83. package/dist/esm/forja-stats.entry.js +2 -1
  84. package/dist/esm/forja-tag-cloud.entry.js +2 -1
  85. package/dist/esm/forja-team.entry.js +2 -1
  86. package/dist/esm/forja-testimonials.entry.js +2 -1
  87. package/dist/esm/forja-text-block.entry.js +2 -1
  88. package/dist/esm/forja-timeline.entry.js +2 -1
  89. package/dist/esm/forja-video.entry.js +2 -1
  90. package/dist/esm/sanitize-D6KWgfCs.js +12036 -0
  91. package/dist/forja-sections/forja-sections.esm.js +1 -1
  92. package/dist/forja-sections/p-0c90861f.entry.js +1 -0
  93. package/dist/forja-sections/p-3224ea53.entry.js +1 -0
  94. package/dist/forja-sections/p-32b758b2.entry.js +1 -0
  95. package/dist/forja-sections/p-34e5af78.entry.js +1 -0
  96. package/dist/forja-sections/p-5af07298.entry.js +1 -0
  97. package/dist/forja-sections/p-65db9305.entry.js +1 -0
  98. package/dist/forja-sections/p-6815a0d9.entry.js +1 -0
  99. package/dist/forja-sections/p-6b63cd9e.entry.js +1 -0
  100. package/dist/forja-sections/p-775468ac.entry.js +1 -0
  101. package/dist/forja-sections/p-815198d8.entry.js +1 -0
  102. package/dist/forja-sections/p-D6KWgfCs.js +7 -0
  103. package/dist/forja-sections/p-a32ca48d.entry.js +1 -0
  104. package/dist/forja-sections/p-a5608f61.entry.js +1 -0
  105. package/dist/forja-sections/p-a9ea393f.entry.js +1 -0
  106. package/dist/forja-sections/p-aca042d7.entry.js +1 -0
  107. package/dist/forja-sections/p-ad7f6525.entry.js +1 -0
  108. package/dist/forja-sections/p-b022f97f.entry.js +1 -0
  109. package/dist/forja-sections/p-c4a6fd86.entry.js +1 -0
  110. package/dist/forja-sections/p-d5673a61.entry.js +1 -0
  111. package/dist/forja-sections/p-e9687bdd.entry.js +1 -0
  112. package/dist/forja-sections/p-eb4d3343.entry.js +1 -0
  113. package/dist/forja-sections/p-fd21a4d6.entry.js +1 -0
  114. package/dist/types/utils/sanitize.d.ts +7 -0
  115. package/dist/types/utils/sanitize.unit.d.ts +1 -0
  116. package/package.json +4 -2
  117. package/dist/forja-sections/p-2374ab45.entry.js +0 -1
  118. package/dist/forja-sections/p-28d89696.entry.js +0 -1
  119. package/dist/forja-sections/p-44c37ec0.entry.js +0 -1
  120. package/dist/forja-sections/p-4a64fd63.entry.js +0 -1
  121. package/dist/forja-sections/p-52608627.entry.js +0 -1
  122. package/dist/forja-sections/p-53d27751.entry.js +0 -1
  123. package/dist/forja-sections/p-66dee454.entry.js +0 -1
  124. package/dist/forja-sections/p-680fe800.entry.js +0 -1
  125. package/dist/forja-sections/p-73d4139c.entry.js +0 -1
  126. package/dist/forja-sections/p-7835a30d.entry.js +0 -1
  127. package/dist/forja-sections/p-7cd82cee.entry.js +0 -1
  128. package/dist/forja-sections/p-7dff4916.entry.js +0 -1
  129. package/dist/forja-sections/p-a1b4e383.entry.js +0 -1
  130. package/dist/forja-sections/p-a4cc2ee9.entry.js +0 -1
  131. package/dist/forja-sections/p-b4bf78b2.entry.js +0 -1
  132. package/dist/forja-sections/p-b79ab033.entry.js +0 -1
  133. package/dist/forja-sections/p-d312478c.entry.js +0 -1
  134. package/dist/forja-sections/p-da58a406.entry.js +0 -1
  135. package/dist/forja-sections/p-dbc78819.entry.js +0 -1
  136. package/dist/forja-sections/p-df44677a.entry.js +0 -1
  137. 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: '2e07ceebf04b3741b7a9e9003ca4cb4c227b1f53', class: "forja-blog", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Blog') }, index.h("slot", { key: 'fa89312e96a5a9d76f9ecb35a2b884b86c724136', name: "before" }), this.sectionTitle && index.h("h2", { key: 'e2b67b101f958249015d16d3875ad4ef2045f5a9', class: "forja-blog__title" }, this.sectionTitle), this.text && index.h("div", { key: 'cfb8fe068f2ca902ebee227ff919b69a3c6e28f2', class: "forja-blog__text", innerHTML: 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: post.excerpt })))))))) : (index.h("slot", null)), this.buttonText && this.buttonHref && (index.h("div", { key: 'd30200ce9a72871b17c225446e511c9792e541f1', class: "forja-blog__footer" }, index.h("a", { key: '42eb53eb15ec8a2c88cf7bf29a425b5e0c074c28', href: this.buttonHref, class: "forja-blog__cta" }, this.buttonText))), index.h("slot", { key: 'fc9ac4b7e88a64eb401abbec1cc5e93f9dea0455', name: "after" })));
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: 'f5fa0e767bf2ed4abf6cf716b170fba8ac8fc569', class: "forja-contact", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Contact') }, index.h("slot", { key: 'ee7559a984260125a9f7bbece28a3383e5b8d383', name: "before" }), index.h("div", { key: '0ed33ac797e6f9e540d8b62a81f060b3d94f3303', class: "forja-contact__content" }, this.sectionTitle && index.h("h2", { key: '40d2850b9d1add8cd37b0238818c9bd351db2c0f', class: "forja-contact__title" }, this.sectionTitle), this.text && index.h("div", { key: '03487d7fdd10dfc55044eb320a26bc9ba69e122e', class: "forja-contact__text", innerHTML: this.text }), this.buttonText && this.buttonHref && (index.h("a", { key: '7836f8b9458ce0a90309ccca829fb5a452d2eeec', 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
+ 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: '71b4d6ede8b21c3e841a74477c1093a5e8fc33fa', name: "after" })));
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: '446ccf4f954e159368c7824587d8a5db98a276d2', class: "forja-cta", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Call to action') }, index.h("slot", { key: '3663547f1d3869de3c0295c8db3d2339a64c1f7b', name: "before" }), this.imageUrl && (index.h("img", { key: '192e4fa7564506794fbd55a77a9fd6f2c202eea7', src: this.imageUrl, alt: this.imageAlt || '', class: "forja-cta__image", loading: "lazy" })), index.h("div", { key: 'f480a01537524bec5b2dd7faaa973776081c5ed0', class: "forja-cta__content" }, this.sectionTitle && index.h("h2", { key: '0baa33a4f63ea70a65da02669977b261d6ca9cbe', class: "forja-cta__title" }, this.sectionTitle), this.text && index.h("div", { key: 'f67e87b654f0cb08f4415aa4ea2b7a39b5e0ca84', class: "forja-cta__text", innerHTML: this.text }), this.buttonText && this.buttonHref && (index.h("a", { key: 'bb0618dcd3fd6deb8f1ce1446167a9ff5d904f6b', href: this.buttonHref, class: "forja-cta__button" }, this.buttonText))), index.h("slot", { key: 'ff766293f87f21e4498004243d78c31d31889dfc', name: "after" })));
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: '94a1ad63276f33116d60bc7e6c00445754a4e7da', class: "forja-faq", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Frequently asked questions') }, index.h("slot", { key: '4b33e56d9cd117bcfc07583a2c58a89d07be50dd', name: "before" }), this.sectionTitle && index.h("h2", { key: 'c47444fed71889ea5a693d623513328f87e6f16e', class: "forja-faq__title" }, this.sectionTitle), this.text && index.h("div", { key: 'a7992070168b9f081dbb11689cf4e333fbf75413', class: "forja-faq__text", innerHTML: 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: item.answer })))))) : (index.h("div", { class: "forja-faq__list" }, index.h("slot", null))), index.h("slot", { key: '77bac4fe776da5ecb301ad5bdb270e1823329f81', name: "after" })));
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: '01434127526dac604e2542876f04c5ac88768038', class: "forja-features", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Features') }, index.h("slot", { key: 'cfc0d012020d197474abc35118b5c1191575d078', name: "before" }), (this.sectionTitle || this.text) && (index.h("div", { key: 'a626af8e540db41d255ec2a637bd341686287a86', class: "forja-features__header" }, this.sectionTitle && index.h("h2", { key: '15bf163f29719490525523ff72f05566277bbcc0', class: "forja-features__title" }, this.sectionTitle), this.text && index.h("div", { key: 'e9e05b4c08e6beb7ecca32df69daddafe2b53f1a', class: "forja-features__text", innerHTML: 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: '9521b8a787f3fb6907dd116b568a1da5764342fa', name: "after" })));
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: 'b895958acc335c7a586411465baa3e5f63b96298', class: "forja-gallery", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Gallery') }, index.h("slot", { key: 'b11fe68eba917a5ba6494211ebfece03088c1d12', name: "before" }), this.sectionTitle && index.h("h2", { key: 'fd8b6ba0c5a51a4add4d1f4bada6691efe1ccaba', class: "forja-gallery__title" }, this.sectionTitle), this.text && index.h("div", { key: '99e0f4a727481d965f08c6e6028bd43472908f28', class: "forja-gallery__text", innerHTML: 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: '6aabc6822879290b15894b9f02b58e43205a9d75', name: "after" })));
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: '43ec04aba0825c70330d5a9f22d6a7c4168cabad', class: classes, "aria-label": a11y.sectionLabel(this.sectionTitle, 'Hero') }, index.h("slot", { key: 'be9b16694a02aee3fe1ae96ab4bdd822ad1c0b96', name: "before" }), this.imageUrl && (index.h("img", { key: 'd41247eb3ddb7d6782f6fdbb6df7545e20c66c2b', src: this.imageUrl, alt: this.imageAlt || '', class: "forja-hero__image", loading: "eager" })), index.h("div", { key: '9545c4a55a85f3309a61afa5c7249ae84c183e86', class: "forja-hero__content" }, this.sectionTitle && index.h("h2", { key: '1f77acc32f1aae7af9d8afaabd09fc8d2a940af6', class: "forja-hero__title" }, this.sectionTitle), this.text && index.h("div", { key: '9d95c5669bd63d68a82206740e18edace7b22ef4', class: "forja-hero__text", innerHTML: this.text }), this.buttonText && this.buttonHref && (index.h("a", { key: 'ae33f3e16544486aef89a2f33e4e0361a9a1a3ca', href: this.buttonHref, class: "forja-hero__cta" }, this.buttonText))), index.h("slot", { key: '9fce9221736717aa80332eea4b981233a896a38c', name: "after" })));
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: 'cc8f30680c29057c92c9974711069119d486baf0', class: "forja-legal", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Legal document') }, index.h("header", { key: '4722e587aaaa5aafd1d5b87373366e037cb56f9f', class: "forja-legal__header" }, this.sectionTitle && index.h("h1", { key: '8ddda4f7eb1e06edcf0fb2ef151858f6359ed954', class: "forja-legal__title" }, this.sectionTitle), this.hasMetadata() && (index.h("div", { key: '5c344b92507b3961ba809c5c5ed2b3d436712a4a', class: "forja-legal__meta" }, this.showDocumentType && typeLabel && (index.h("span", { key: '18ee032889dc39068301751885f0077777095779', class: "forja-legal__type" }, typeLabel)), this.showVersion && this.version != null && (index.h("span", { key: '62cddb2b691bd00ac0f81e58a5707d9bce43b91c', class: "forja-legal__version" }, "Version ", this.version)), this.showDates && displayDate && (index.h("time", { key: 'e631e74a06ef96fb3e6d663516e2a8d7e55332cb', class: "forja-legal__date", dateTime: displayDate }, this.effectiveDate ? 'Effective ' : 'Updated ', this.formatDate(displayDate)))))), this.showIntro && this.intro && (index.h("div", { key: 'e621eccaf2fa1c0059cc7699de0a80c833c2bb8b', class: "forja-legal__intro", innerHTML: this.intro })), this.body ? (index.h("div", { class: "forja-legal__body", innerHTML: this.body })) : (index.h("div", { class: "forja-legal__body" }, index.h("slot", null)))));
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: 'cd65ea26049ceb3de18436c961990573c548b8ae', class: classes, "aria-label": a11y.sectionLabel(this.sectionTitle, 'Partners') }, index.h("slot", { key: '8477f0f53553d808a63b3fe241541b0625248828', name: "before" }), this.sectionTitle && index.h("h2", { key: '09e073ab7deb7ce27bf0f7e5801b10f60840b732', class: "forja-logo-cloud__title" }, this.sectionTitle), this.text && index.h("div", { key: 'ab4cd6049231cfda659fc191fd560143027bb3c0', class: "forja-logo-cloud__text", innerHTML: 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: 'a56c182cd2090916395563b0c30fe21c929d1353', name: "after" })));
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: '0d15c9d013c2f1250999ad86d853cbb5126bbddc', class: "forja-newsletter", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Newsletter') }, index.h("slot", { key: 'aba062b799c952a6936267573bf841fb7403a350', name: "before" }), this.sectionTitle && index.h("h2", { key: 'f00db5dd8b536dca31d1f39453753e4e9126f97f', class: "forja-newsletter__title" }, this.sectionTitle), this.text && index.h("div", { key: '857102c1929b0615a5782d97ffc969d12bb3bec6', class: "forja-newsletter__text", innerHTML: this.text }), index.h("form", { key: '9ac77419043d02719d05c949e8ac6e13f411affe', class: "forja-newsletter__form", action: this.formAction, method: this.formAction ? 'post' : undefined, onSubmit: this.handleSubmit }, this.showName && (index.h("div", { key: '073625ebadd2dd040dc19e48f136adb4919d428b', class: "forja-newsletter__field" }, index.h("label", { key: '3133a36ccdf1c7f8a7204e2e83c71b16b1e4dcf2', class: "forja-newsletter__label", htmlFor: nameId }, "Name"), index.h("input", { key: 'f49b6e4e3b7f1037e6b7aaa18a6a4b10cb15d730', id: nameId, name: "name", type: "text", class: "forja-newsletter__input" }))), index.h("div", { key: '59b5408e884026f6351b1397e536fc184ac2c1de', class: "forja-newsletter__field" }, index.h("label", { key: '436373562856e04f27addcacba5083805155c913', class: "forja-newsletter__label", htmlFor: emailId }, "Email"), index.h("input", { key: '042c434c7fab15fd4235e1fe2d6b509db81d1e43', id: emailId, name: "email", type: "email", class: "forja-newsletter__input", required: true, "aria-required": "true" })), this.requiresAltcha &&
35
- altcha.renderAltchaWidget(this.altchaChallengeUrl, 'forja-newsletter-altcha'), this.botProtectionUnsolved && (index.h("p", { key: '4375ea4a0f67a9dad1b6e1797e898c4b90125dfb', class: "forja-newsletter__error", role: "alert", "data-testid": "forja-newsletter-altcha-error" }, "Please complete the verification before submitting.")), index.h("button", { key: '7eddc2c91799598f71af799af6c46159d688195a', type: "submit", class: "forja-newsletter__submit" }, this.buttonText)), index.h("slot", { key: 'f13a320d972bbb402cb218ee6d4d2650f5f15161', name: "after" })));
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: '506011a5c845a8cbee32a77a2081a269efa3c2d4', class: "forja-portfolio", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Portfolio') }, index.h("slot", { key: 'f4c91d111a4e49a2492a5056376b1c2245d7db1f', name: "before" }), this.sectionTitle && index.h("h2", { key: '801b3d72f636ed6e5d51f37748ad980970acc72c', class: "forja-portfolio__title" }, this.sectionTitle), this.text && index.h("div", { key: '2770e9835554376f00a46ad670cc2530651e6dfc', class: "forja-portfolio__text", innerHTML: this.text }), this.renderExperiences(), this.renderEducation(), this.renderSkills(), index.h("slot", { key: '48ded21e8a2ac6d279ea1e39d6fa6eaec32ef7aa', name: "after" })));
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: 'ecb73e364f3f4892d3d937fc7fa5df7b1f1a338e', class: "forja-pricing", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Pricing') }, index.h("slot", { key: '08905beca81a6eb6afb74d161f47bc7e0f5b69c4', name: "before" }), (this.sectionTitle || this.text) && (index.h("div", { key: 'fa94236ab6731c6e2f7401075bba874ed39206b9', class: "forja-pricing__header" }, this.sectionTitle && index.h("h2", { key: '8ced20c10ac8235fd2525c6cbbc4b5689c10fe18', class: "forja-pricing__title" }, this.sectionTitle), this.text && index.h("div", { key: 'bf6f79ee461263f8e5bd9af2c2233683fe6cf110', class: "forja-pricing__text", innerHTML: 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: '138c32c758745fc0c225c981e15da56557659395', name: "after" })));
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: '4fddb0d0031673c60d81741111e6fff5ebbb20a6', class: "forja-projects", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Projects') }, index.h("slot", { key: '0a295eabcbfa33f584f1538b84b70cb85fd012ae', name: "before" }), this.sectionTitle && index.h("h2", { key: '3792ed7f5e6e86dc9fd36274a361bffcc1267d8e', class: "forja-projects__title" }, this.sectionTitle), this.text && index.h("div", { key: '246daa3ff95477f019d70c1d2c3c24ccade0ecb1', class: "forja-projects__text", innerHTML: 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: 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: '605aa0a889bdc8199dca6895248f3cf19d8d4c83', name: "after" })));
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: 'cf1a9139a3b18e099e66f5abcfdcf7f5c90cdf74', class: classes, "aria-label": a11y.sectionLabel(this.sectionTitle, 'Statistics') }, index.h("slot", { key: 'fc61e06e592f1cc1d1f36d47b2b8fd33b520f421', name: "before" }), this.sectionTitle && index.h("h2", { key: '42026c0e7b55f0f7b185d969ca1219b1c44f7632', class: "forja-stats__title" }, this.sectionTitle), this.text && index.h("div", { key: 'd6f9d119958786dbef4aa39e6bae82a22465e21a', class: "forja-stats__text", innerHTML: 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: '468c62818cee963c316c57891964bac3d4f793a6', name: "after" })));
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: 'eb6d00e49fa790e23e2397f4927e20d545222217', class: "forja-tag-cloud", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Tags') }, index.h("slot", { key: '8a34fd949d2f96dd8fd92d6479a052373fc09d00', name: "before" }), this.sectionTitle && index.h("h2", { key: '90fd03b82e40b74a16c91ba8c86100e9868239bb', class: "forja-tag-cloud__title" }, this.sectionTitle), this.text && index.h("div", { key: '7cf8c4c19943defa0e23f852ab27372307fa45b8', class: "forja-tag-cloud__text", innerHTML: 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: '9d24cb03b6ea67f87f11dd97410ae25ae389276b', name: "after" })));
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: '65ab08dab0a410e178ce2b0a010987533b575bcd', class: "forja-team", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Team') }, index.h("slot", { key: 'daa75a84eb8bf43d21057b9f3620f96407d65007', name: "before" }), this.sectionTitle && index.h("h2", { key: '682f5ee8cf15e378cdb6b33cc80e078886ca29ce', class: "forja-team__title" }, this.sectionTitle), this.text && index.h("div", { key: '4ce99703de2127a6637bd7e86c3bc0944c6b5960', class: "forja-team__text", innerHTML: 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: '97fff600c6ed995066a34008edee4a73a9c954d2', name: "after" })));
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: '348a3aea6d842d43dcbb8506111d2146347ecf65', class: "forja-testimonials", "aria-label": a11y.sectionLabel(this.sectionTitle, 'Testimonials') }, index.h("slot", { key: '4d372a82bb34fc2408cb168f349550f5213c1152', name: "before" }), this.sectionTitle && index.h("h2", { key: '52323f5e292192065b3ab8a54efb76bc2cb9247f', class: "forja-testimonials__title" }, this.sectionTitle), this.text && index.h("div", { key: 'f285a90d384919c0a6221b02ef2bdddf584c8636', class: "forja-testimonials__text", innerHTML: 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: '5c88e789b532b1039e2b0c74ec0afc4fb63185fb', name: "after" })));
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: '797f9ac88c3c03e2c41e7b8b3bf54b4d43dc3fd9', class: classes, "aria-label": a11y.sectionLabel(this.sectionTitle, 'Content') }, index.h("slot", { key: 'dc6cc88ac6fde0dc315651f0d7372c3fb44527fc', name: "before" }), this.sectionTitle && index.h("h2", { key: 'c3e5c0b9bbd3037a9c54db36027928b67a14318f', class: "forja-text__title" }, this.sectionTitle), this.text ? (index.h("div", { class: "forja-text__content", innerHTML: this.text })) : (index.h("div", { class: "forja-text__content" }, index.h("slot", null))), index.h("slot", { key: '8fe560073c81469ef6669ff945df4d102699152c', name: "after" })));
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: '2dce62c902a967d64dd5b6a611a177335db92965', class: classes, "aria-label": a11y.sectionLabel(this.sectionTitle, 'Timeline') }, index.h("slot", { key: 'a68408fe55ac0b4ff1717d90abf94df9744395e8', name: "before" }), this.sectionTitle && index.h("h2", { key: '59f55ce9bc8783f510050851f19d124e1e10c869', class: "forja-timeline__title" }, this.sectionTitle), this.text && index.h("div", { key: '16c053110be832993154c4e88b9f29370d3b66e0', class: "forja-timeline__text", innerHTML: 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: event.text })))))) : (index.h("slot", null)), index.h("slot", { key: '112addeae24306716d65f4500fb6a2dbafb8a977', name: "after" })));
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: '3243f9bd00cd257d706cf6ca3ee463fc2f1de542', class: classes, "aria-label": a11y.sectionLabel(this.sectionTitle, 'Video') }, index.h("slot", { key: 'a95a30fcd2ce9e696a614b3e5614c32f23bb887c', name: "before" }), this.sectionTitle && index.h("h2", { key: 'd43d21c2d9e78ac33670d6c7073180d813c2d868', class: "forja-video__title" }, this.sectionTitle), this.text && index.h("div", { key: '98a11b54335f07c79f8ed7a0576378d223f91bfb', class: "forja-video__text", innerHTML: this.text }), this.videoUrl && (index.h("figure", { key: 'b6e4b9436e7c4f0040b00d8173ac2cf417acd575', 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: '788a8b32e8e0e524cf681995cd25f3b4ed565371', name: "after" })));
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