@forjacms/sections 1.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/README.md +185 -0
  2. package/dist/cjs/a11y-IAJPjMwx.js +27 -0
  3. package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
  4. package/dist/cjs/forja-blog.cjs.entry.js +16 -0
  5. package/dist/cjs/forja-contact.cjs.entry.js +25 -0
  6. package/dist/cjs/forja-cta.cjs.entry.js +15 -0
  7. package/dist/cjs/forja-divider.cjs.entry.js +19 -0
  8. package/dist/cjs/forja-faq.cjs.entry.js +16 -0
  9. package/dist/cjs/forja-features.cjs.entry.js +16 -0
  10. package/dist/cjs/forja-footer.cjs.entry.js +38 -0
  11. package/dist/cjs/forja-gallery.cjs.entry.js +16 -0
  12. package/dist/cjs/forja-hero.cjs.entry.js +20 -0
  13. package/dist/cjs/forja-legal.cjs.entry.js +46 -0
  14. package/dist/cjs/forja-logo-cloud.cjs.entry.js +20 -0
  15. package/dist/cjs/forja-nav.cjs.entry.js +53 -0
  16. package/dist/cjs/forja-newsletter.cjs.entry.js +24 -0
  17. package/dist/cjs/forja-portfolio.cjs.entry.js +37 -0
  18. package/dist/cjs/forja-pricing.cjs.entry.js +16 -0
  19. package/dist/cjs/forja-projects.cjs.entry.js +16 -0
  20. package/dist/cjs/forja-section-renderer.cjs.entry.js +42 -0
  21. package/dist/cjs/forja-sections.cjs.js +25 -0
  22. package/dist/cjs/forja-stats.cjs.entry.js +20 -0
  23. package/dist/cjs/forja-tag-cloud.cjs.entry.js +16 -0
  24. package/dist/cjs/forja-team.cjs.entry.js +18 -0
  25. package/dist/cjs/forja-testimonials.cjs.entry.js +16 -0
  26. package/dist/cjs/forja-text-block.cjs.entry.js +22 -0
  27. package/dist/cjs/forja-timeline.cjs.entry.js +19 -0
  28. package/dist/cjs/forja-video.cjs.entry.js +30 -0
  29. package/dist/cjs/index-Bp-SZu2Y.js +1754 -0
  30. package/dist/cjs/index.cjs.js +15 -0
  31. package/dist/cjs/loader.cjs.js +13 -0
  32. package/dist/collection/collection-manifest.json +36 -0
  33. package/dist/collection/components/forja-blog/forja-blog.js +132 -0
  34. package/dist/collection/components/forja-contact/forja-contact.js +165 -0
  35. package/dist/collection/components/forja-cta/forja-cta.js +126 -0
  36. package/dist/collection/components/forja-divider/forja-divider.js +57 -0
  37. package/dist/collection/components/forja-faq/forja-faq.js +75 -0
  38. package/dist/collection/components/forja-features/forja-features.js +94 -0
  39. package/dist/collection/components/forja-footer/forja-footer.js +184 -0
  40. package/dist/collection/components/forja-gallery/forja-gallery.js +94 -0
  41. package/dist/collection/components/forja-hero/forja-hero.js +169 -0
  42. package/dist/collection/components/forja-legal/forja-legal.js +289 -0
  43. package/dist/collection/components/forja-logo-cloud/forja-logo-cloud.js +117 -0
  44. package/dist/collection/components/forja-nav/forja-nav.js +215 -0
  45. package/dist/collection/components/forja-newsletter/forja-newsletter.js +141 -0
  46. package/dist/collection/components/forja-portfolio/forja-portfolio.js +163 -0
  47. package/dist/collection/components/forja-pricing/forja-pricing.js +94 -0
  48. package/dist/collection/components/forja-projects/forja-projects.js +94 -0
  49. package/dist/collection/components/forja-section-renderer/forja-section-renderer.js +218 -0
  50. package/dist/collection/components/forja-stats/forja-stats.js +117 -0
  51. package/dist/collection/components/forja-tag-cloud/forja-tag-cloud.js +75 -0
  52. package/dist/collection/components/forja-team/forja-team.js +138 -0
  53. package/dist/collection/components/forja-testimonials/forja-testimonials.js +94 -0
  54. package/dist/collection/components/forja-text-block/forja-text-block.js +99 -0
  55. package/dist/collection/components/forja-timeline/forja-timeline.js +120 -0
  56. package/dist/collection/components/forja-video/forja-video.js +146 -0
  57. package/dist/collection/index.js +4 -0
  58. package/dist/collection/types.js +7 -0
  59. package/dist/collection/utils/a11y.js +22 -0
  60. package/dist/collection/utils/a11y.unit.js +46 -0
  61. package/dist/components/forja-blog.d.ts +11 -0
  62. package/dist/components/forja-blog.js +1 -0
  63. package/dist/components/forja-contact.d.ts +11 -0
  64. package/dist/components/forja-contact.js +1 -0
  65. package/dist/components/forja-cta.d.ts +11 -0
  66. package/dist/components/forja-cta.js +1 -0
  67. package/dist/components/forja-divider.d.ts +11 -0
  68. package/dist/components/forja-divider.js +1 -0
  69. package/dist/components/forja-faq.d.ts +11 -0
  70. package/dist/components/forja-faq.js +1 -0
  71. package/dist/components/forja-features.d.ts +11 -0
  72. package/dist/components/forja-features.js +1 -0
  73. package/dist/components/forja-footer.d.ts +11 -0
  74. package/dist/components/forja-footer.js +1 -0
  75. package/dist/components/forja-gallery.d.ts +11 -0
  76. package/dist/components/forja-gallery.js +1 -0
  77. package/dist/components/forja-hero.d.ts +11 -0
  78. package/dist/components/forja-hero.js +1 -0
  79. package/dist/components/forja-legal.d.ts +11 -0
  80. package/dist/components/forja-legal.js +1 -0
  81. package/dist/components/forja-logo-cloud.d.ts +11 -0
  82. package/dist/components/forja-logo-cloud.js +1 -0
  83. package/dist/components/forja-nav.d.ts +11 -0
  84. package/dist/components/forja-nav.js +1 -0
  85. package/dist/components/forja-newsletter.d.ts +11 -0
  86. package/dist/components/forja-newsletter.js +1 -0
  87. package/dist/components/forja-portfolio.d.ts +11 -0
  88. package/dist/components/forja-portfolio.js +1 -0
  89. package/dist/components/forja-pricing.d.ts +11 -0
  90. package/dist/components/forja-pricing.js +1 -0
  91. package/dist/components/forja-projects.d.ts +11 -0
  92. package/dist/components/forja-projects.js +1 -0
  93. package/dist/components/forja-section-renderer.d.ts +11 -0
  94. package/dist/components/forja-section-renderer.js +1 -0
  95. package/dist/components/forja-stats.d.ts +11 -0
  96. package/dist/components/forja-stats.js +1 -0
  97. package/dist/components/forja-tag-cloud.d.ts +11 -0
  98. package/dist/components/forja-tag-cloud.js +1 -0
  99. package/dist/components/forja-team.d.ts +11 -0
  100. package/dist/components/forja-team.js +1 -0
  101. package/dist/components/forja-testimonials.d.ts +11 -0
  102. package/dist/components/forja-testimonials.js +1 -0
  103. package/dist/components/forja-text-block.d.ts +11 -0
  104. package/dist/components/forja-text-block.js +1 -0
  105. package/dist/components/forja-timeline.d.ts +11 -0
  106. package/dist/components/forja-timeline.js +1 -0
  107. package/dist/components/forja-video.d.ts +11 -0
  108. package/dist/components/forja-video.js +1 -0
  109. package/dist/components/index.d.ts +35 -0
  110. package/dist/components/index.js +1 -0
  111. package/dist/components/p-CTbyYfdB.js +1 -0
  112. package/dist/components/p-DTKnQcqm.js +1 -0
  113. package/dist/define-all.d.ts +2 -0
  114. package/dist/define-all.js +24 -0
  115. package/dist/esm/a11y-CTbyYfdB.js +24 -0
  116. package/dist/esm/app-globals-DQuL1Twl.js +3 -0
  117. package/dist/esm/forja-blog.entry.js +14 -0
  118. package/dist/esm/forja-contact.entry.js +23 -0
  119. package/dist/esm/forja-cta.entry.js +13 -0
  120. package/dist/esm/forja-divider.entry.js +17 -0
  121. package/dist/esm/forja-faq.entry.js +14 -0
  122. package/dist/esm/forja-features.entry.js +14 -0
  123. package/dist/esm/forja-footer.entry.js +36 -0
  124. package/dist/esm/forja-gallery.entry.js +14 -0
  125. package/dist/esm/forja-hero.entry.js +18 -0
  126. package/dist/esm/forja-legal.entry.js +44 -0
  127. package/dist/esm/forja-logo-cloud.entry.js +18 -0
  128. package/dist/esm/forja-nav.entry.js +51 -0
  129. package/dist/esm/forja-newsletter.entry.js +22 -0
  130. package/dist/esm/forja-portfolio.entry.js +35 -0
  131. package/dist/esm/forja-pricing.entry.js +14 -0
  132. package/dist/esm/forja-projects.entry.js +14 -0
  133. package/dist/esm/forja-section-renderer.entry.js +40 -0
  134. package/dist/esm/forja-sections.js +21 -0
  135. package/dist/esm/forja-stats.entry.js +18 -0
  136. package/dist/esm/forja-tag-cloud.entry.js +14 -0
  137. package/dist/esm/forja-team.entry.js +16 -0
  138. package/dist/esm/forja-testimonials.entry.js +14 -0
  139. package/dist/esm/forja-text-block.entry.js +20 -0
  140. package/dist/esm/forja-timeline.entry.js +17 -0
  141. package/dist/esm/forja-video.entry.js +28 -0
  142. package/dist/esm/index-WdE4YutY.js +1747 -0
  143. package/dist/esm/index.js +11 -0
  144. package/dist/esm/loader.js +11 -0
  145. package/dist/forja-sections/forja-sections.esm.js +1 -0
  146. package/dist/forja-sections/index.esm.js +1 -0
  147. package/dist/forja-sections/p-0a820467.entry.js +1 -0
  148. package/dist/forja-sections/p-1b0b71f5.entry.js +1 -0
  149. package/dist/forja-sections/p-1e7249c1.entry.js +1 -0
  150. package/dist/forja-sections/p-27f014b1.entry.js +1 -0
  151. package/dist/forja-sections/p-2834de40.entry.js +1 -0
  152. package/dist/forja-sections/p-2a7f54c6.entry.js +1 -0
  153. package/dist/forja-sections/p-2b3d6388.entry.js +1 -0
  154. package/dist/forja-sections/p-4180bd91.entry.js +1 -0
  155. package/dist/forja-sections/p-57c10a67.entry.js +1 -0
  156. package/dist/forja-sections/p-6e48a255.entry.js +1 -0
  157. package/dist/forja-sections/p-6fa65e05.entry.js +1 -0
  158. package/dist/forja-sections/p-732e854c.entry.js +1 -0
  159. package/dist/forja-sections/p-8787f878.entry.js +1 -0
  160. package/dist/forja-sections/p-9b242e13.entry.js +1 -0
  161. package/dist/forja-sections/p-CTbyYfdB.js +1 -0
  162. package/dist/forja-sections/p-DQuL1Twl.js +1 -0
  163. package/dist/forja-sections/p-WdE4YutY.js +2 -0
  164. package/dist/forja-sections/p-a2cdb548.entry.js +1 -0
  165. package/dist/forja-sections/p-aa20264b.entry.js +1 -0
  166. package/dist/forja-sections/p-b5280312.entry.js +1 -0
  167. package/dist/forja-sections/p-c2c2e0ba.entry.js +1 -0
  168. package/dist/forja-sections/p-c4bccd7e.entry.js +1 -0
  169. package/dist/forja-sections/p-d1b739dd.entry.js +1 -0
  170. package/dist/forja-sections/p-d762878f.entry.js +1 -0
  171. package/dist/forja-sections/p-de808791.entry.js +1 -0
  172. package/dist/forja-sections/p-f24d6578.entry.js +1 -0
  173. package/dist/forja-sections/p-fd969566.entry.js +1 -0
  174. package/dist/index.cjs.js +1 -0
  175. package/dist/index.js +1 -0
  176. package/dist/types/components/forja-blog/forja-blog.d.ts +10 -0
  177. package/dist/types/components/forja-contact/forja-contact.d.ts +13 -0
  178. package/dist/types/components/forja-cta/forja-cta.d.ts +9 -0
  179. package/dist/types/components/forja-divider/forja-divider.d.ts +5 -0
  180. package/dist/types/components/forja-faq/forja-faq.d.ts +7 -0
  181. package/dist/types/components/forja-features/forja-features.d.ts +8 -0
  182. package/dist/types/components/forja-footer/forja-footer.d.ts +11 -0
  183. package/dist/types/components/forja-gallery/forja-gallery.d.ts +8 -0
  184. package/dist/types/components/forja-hero/forja-hero.d.ts +11 -0
  185. package/dist/types/components/forja-legal/forja-legal.d.ts +35 -0
  186. package/dist/types/components/forja-logo-cloud/forja-logo-cloud.d.ts +9 -0
  187. package/dist/types/components/forja-nav/forja-nav.d.ts +23 -0
  188. package/dist/types/components/forja-newsletter/forja-newsletter.d.ts +11 -0
  189. package/dist/types/components/forja-portfolio/forja-portfolio.d.ts +13 -0
  190. package/dist/types/components/forja-pricing/forja-pricing.d.ts +8 -0
  191. package/dist/types/components/forja-projects/forja-projects.d.ts +8 -0
  192. package/dist/types/components/forja-section-renderer/forja-section-renderer.d.ts +13 -0
  193. package/dist/types/components/forja-stats/forja-stats.d.ts +9 -0
  194. package/dist/types/components/forja-tag-cloud/forja-tag-cloud.d.ts +7 -0
  195. package/dist/types/components/forja-team/forja-team.d.ts +10 -0
  196. package/dist/types/components/forja-testimonials/forja-testimonials.d.ts +8 -0
  197. package/dist/types/components/forja-text-block/forja-text-block.d.ts +7 -0
  198. package/dist/types/components/forja-timeline/forja-timeline.d.ts +9 -0
  199. package/dist/types/components/forja-video/forja-video.d.ts +11 -0
  200. package/dist/types/components.d.ts +1010 -0
  201. package/dist/types/index.d.ts +3 -0
  202. package/dist/types/stencil-public-runtime.d.ts +1860 -0
  203. package/dist/types/types.d.ts +235 -0
  204. package/dist/types/utils/a11y.d.ts +11 -0
  205. package/dist/types/utils/a11y.unit.d.ts +1 -0
  206. package/loader/cdn.js +1 -0
  207. package/loader/index.cjs.js +1 -0
  208. package/loader/index.d.ts +24 -0
  209. package/loader/index.es2017.js +1 -0
  210. package/loader/index.js +2 -0
  211. package/package.json +66 -0
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaLegal extends Components.ForjaLegal, HTMLElement {}
4
+ export const ForjaLegal: {
5
+ prototype: ForjaLegal;
6
+ new (): ForjaLegal;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t as e,p as t,H as s,h as a}from"./p-DTKnQcqm.js";import{s as i}from"./p-CTbyYfdB.js";import{LEGAL_DOC_TYPE_LABELS as o}from"./index.js";const c=t(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.showDocumentType=!0,this.showVersion=!0,this.showDates=!0,this.showIntro=!0}formatDate(e){try{return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"})}catch(t){return e}}hasMetadata(){return this.showDocumentType&&!!this.documentType||this.showVersion&&null!=this.version||this.showDates&&!!(this.effectiveDate||this.updatedAt||this.createdAt)}render(){const e=this.documentType?o[this.documentType]||this.documentType:void 0,t=this.effectiveDate||this.updatedAt||this.createdAt;return a("article",{key:"cc8f30680c29057c92c9974711069119d486baf0",class:"forja-legal","aria-label":i(this.sectionTitle,"Legal document")},a("header",{key:"4722e587aaaa5aafd1d5b87373366e037cb56f9f",class:"forja-legal__header"},this.sectionTitle&&a("h1",{key:"8ddda4f7eb1e06edcf0fb2ef151858f6359ed954",class:"forja-legal__title"},this.sectionTitle),this.hasMetadata()&&a("div",{key:"5c344b92507b3961ba809c5c5ed2b3d436712a4a",class:"forja-legal__meta"},this.showDocumentType&&e&&a("span",{key:"18ee032889dc39068301751885f0077777095779",class:"forja-legal__type"},e),this.showVersion&&null!=this.version&&a("span",{key:"62cddb2b691bd00ac0f81e58a5707d9bce43b91c",class:"forja-legal__version"},"Version ",this.version),this.showDates&&t&&a("time",{key:"e631e74a06ef96fb3e6d663516e2a8d7e55332cb",class:"forja-legal__date",dateTime:t},this.effectiveDate?"Effective ":"Updated ",this.formatDate(t)))),this.showIntro&&this.intro&&a("div",{key:"e621eccaf2fa1c0059cc7699de0a80c833c2bb8b",class:"forja-legal__intro",innerHTML:this.intro}),this.body?a("div",{class:"forja-legal__body",innerHTML:this.body}):a("div",{class:"forja-legal__body"},a("slot",null)))}},[260,"forja-legal",{sectionTitle:[1,"section-title"],intro:[1],body:[1],documentType:[1,"document-type"],version:[2],createdAt:[1,"created-at"],updatedAt:[1,"updated-at"],effectiveDate:[1,"effective-date"],showDocumentType:[4,"show-document-type"],showVersion:[4,"show-version"],showDates:[4,"show-dates"],showIntro:[4,"show-intro"]}]);function l(){"undefined"!=typeof customElements&&["forja-legal"].forEach((t=>{"forja-legal"===t&&(customElements.get(e(t))||customElements.define(e(t),c))}))}l();const r=c,d=l;export{r as ForjaLegal,d as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaLogoCloud extends Components.ForjaLogoCloud, HTMLElement {}
4
+ export const ForjaLogoCloud: {
5
+ prototype: ForjaLogoCloud;
6
+ new (): ForjaLogoCloud;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t as o,p as l,H as s,h as e}from"./p-DTKnQcqm.js";import{s as a}from"./p-CTbyYfdB.js";const t=l(class extends s{constructor(o){super(),!1!==o&&this.__registerHost()}render(){const o=this.logos&&this.logos.length>0,l=["forja-logo-cloud",this.grayscale&&"forja-logo-cloud--grayscale"].filter(Boolean).join(" ");return e("section",{key:"cd65ea26049ceb3de18436c961990573c548b8ae",class:l,"aria-label":a(this.sectionTitle,"Partners")},e("slot",{key:"8477f0f53553d808a63b3fe241541b0625248828",name:"before"}),this.sectionTitle&&e("h2",{key:"09e073ab7deb7ce27bf0f7e5801b10f60840b732",class:"forja-logo-cloud__title"},this.sectionTitle),this.text&&e("div",{key:"ab4cd6049231cfda659fc191fd560143027bb3c0",class:"forja-logo-cloud__text",innerHTML:this.text}),o?e("ul",{class:"forja-logo-cloud__grid",role:"list","data-columns":this.columns},this.logos.map((o=>e("li",{class:"forja-logo-cloud__item"},o.href?e("a",{href:o.href,class:"forja-logo-cloud__link",target:"_blank",rel:"noopener"},e("img",{src:o.imageUrl,alt:o.alt,class:"forja-logo-cloud__image",loading:"lazy"})):e("img",{src:o.imageUrl,alt:o.alt,class:"forja-logo-cloud__image",loading:"lazy"}))))):e("slot",null),e("slot",{key:"a56c182cd2090916395563b0c30fe21c929d1353",name:"after"}))}},[260,"forja-logo-cloud",{sectionTitle:[1,"section-title"],text:[1],logos:[16],columns:[2],grayscale:[4]}]);function c(){"undefined"!=typeof customElements&&["forja-logo-cloud"].forEach((l=>{"forja-logo-cloud"===l&&(customElements.get(o(l))||customElements.define(o(l),t))}))}c();const r=t,i=c;export{r as ForjaLogoCloud,i as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaNav extends Components.ForjaNav, HTMLElement {}
4
+ export const ForjaNav: {
5
+ prototype: ForjaNav;
6
+ new (): ForjaNav;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t as e,p as o,H as a,c as n,h as t}from"./p-DTKnQcqm.js";const r=o(class extends a{constructor(e){super(),!1!==e&&this.__registerHost(),this.forjaThemeToggle=n(this,"forjaThemeToggle"),this.forjaLocaleChange=n(this,"forjaLocaleChange"),this.homeHref="/",this.showThemeToggle=!0,this.mobileOpen=!1,this.localeDropdownOpen=!1,this.toggleMobile=()=>{this.mobileOpen=!this.mobileOpen},this.toggleLocaleDropdown=()=>{this.localeDropdownOpen=!this.localeDropdownOpen},this.selectLocale=e=>{this.localeDropdownOpen=!1,this.forjaLocaleChange.emit(e)},this.handleThemeToggle=()=>{this.forjaThemeToggle.emit()}}renderNavLink(e){return t("a",{href:e.href,target:e.openInNewTab?"_blank":void 0,rel:e.openInNewTab?"noopener noreferrer":void 0,class:"forja-nav__link"},e.title)}renderDesktopItem(e){return e.children&&e.children.length>0?t("div",{class:"forja-nav__dropdown"},t("a",{href:e.href,target:e.openInNewTab?"_blank":void 0,rel:e.openInNewTab?"noopener noreferrer":void 0,class:"forja-nav__link"},e.title),t("div",{class:"forja-nav__dropdown-menu"},e.children.map((e=>t("a",{href:e.href,target:e.openInNewTab?"_blank":void 0,rel:e.openInNewTab?"noopener noreferrer":void 0,class:"forja-nav__dropdown-item"},e.title))))):this.renderNavLink(e)}renderThemeToggle(){return this.showThemeToggle?t("button",{type:"button","aria-label":"Toggle dark mode",class:"forja-nav__theme-toggle",onClick:this.handleThemeToggle},t("svg",{class:"forja-nav__icon-moon",xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},t("path",{d:"M21 12.79A9 9 0 1111.21 3a7 7 0 009.79 9.79z"})),t("svg",{class:"forja-nav__icon-sun",xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},t("circle",{cx:"12",cy:"12",r:"5"}),t("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),t("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),t("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),t("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),t("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),t("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),t("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),t("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"}))):null}renderLocaleSwitcher(){return!this.locales||this.locales.length<=1?null:t("div",{class:"forja-nav__locale-switcher"},t("button",{type:"button","aria-label":"Switch language",class:"forja-nav__locale-toggle",onClick:this.toggleLocaleDropdown},this.currentLocale||"en"),this.localeDropdownOpen&&t("div",{class:"forja-nav__locale-dropdown"},this.locales.map((e=>t("button",{type:"button",class:"forja-nav__locale-option"+(e.code===this.currentLocale?" forja-nav__locale-option--active":""),onClick:()=>this.selectLocale(e.code)},e.name)))))}render(){const e=this.items||[];return t("nav",{key:"d53286c5cb8ab3a53d319bfc4f56261f14bbd0e7",class:"forja-nav","aria-label":"Main navigation"},t("div",{key:"f6ddbb63413194a4c9b65f28685c856794da9085",class:"forja-nav__container"},this.siteName&&t("a",{key:"18bf629d717e2bf64da5705900bde85958a4efcc",href:this.homeHref,class:"forja-nav__brand"},this.siteName),t("div",{key:"60df3ad46c3d3d8c69ad94956d40e50713143fe1",class:"forja-nav__desktop"},e.map((e=>this.renderDesktopItem(e))),this.renderLocaleSwitcher(),this.renderThemeToggle()),t("button",{key:"5a11fece72449bb05dfab14a49dc0e4cb08b3030",type:"button","aria-label":"Toggle navigation",class:"forja-nav__hamburger",onClick:this.toggleMobile},t("svg",{key:"19ca0c78e8a9d2c0566f5722e058fe6bfdfa5e26",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},t("line",{key:"1a61567b4a0e80d1b924a8ddd82e6565e9c87896",x1:"3",y1:"12",x2:"21",y2:"12"}),t("line",{key:"d57ae9589e5369942d48698b0842bd3390130747",x1:"3",y1:"6",x2:"21",y2:"6"}),t("line",{key:"dc58d5f24249e2989ce33f7a366d6926a7408496",x1:"3",y1:"18",x2:"21",y2:"18"})))),this.mobileOpen&&t("div",{key:"c2ae6b8da7095d8851196fc22b2e10bf7abce3b9",class:"forja-nav__mobile"},e.map((e=>t("a",{href:e.href,target:e.openInNewTab?"_blank":void 0,rel:e.openInNewTab?"noopener noreferrer":void 0,class:"forja-nav__mobile-link"},e.title))),this.renderThemeToggle()))}},[0,"forja-nav",{siteName:[1,"site-name"],homeHref:[1,"home-href"],items:[16],locales:[16],currentLocale:[1,"current-locale"],showThemeToggle:[4,"show-theme-toggle"],mobileOpen:[32],localeDropdownOpen:[32]}]);function i(){"undefined"!=typeof customElements&&["forja-nav"].forEach((o=>{"forja-nav"===o&&(customElements.get(e(o))||customElements.define(e(o),r))}))}i();const s=r,l=i;export{s as ForjaNav,l as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaNewsletter extends Components.ForjaNewsletter, HTMLElement {}
4
+ export const ForjaNewsletter: {
5
+ prototype: ForjaNewsletter;
6
+ new (): ForjaNewsletter;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t as e,p as t,H as a,c as s,h as f}from"./p-DTKnQcqm.js";import{a as r,s as i}from"./p-CTbyYfdB.js";const c=t(class extends a{constructor(e){super(),!1!==e&&this.__registerHost(),this.forjaSubmit=s(this,"forjaSubmit"),this.buttonText="Subscribe",this.handleSubmit=e=>{e.preventDefault(),this.forjaSubmit.emit(new FormData(e.target))}}render(){const e=r(this.sectionTitle,"newsletter-email"),t=r(this.sectionTitle,"newsletter-name");return f("section",{key:"2b01646d3aa10d12c9568551edc2f8836a1e6199",class:"forja-newsletter","aria-label":i(this.sectionTitle,"Newsletter")},f("slot",{key:"020fd3a2e10a86f6bec4f9499e217818c534885f",name:"before"}),this.sectionTitle&&f("h2",{key:"e540517a30deb49e8d3b1271b8099fe2c5167f02",class:"forja-newsletter__title"},this.sectionTitle),this.text&&f("div",{key:"c31f0ad333733992f426ca1b564a609603ce7f43",class:"forja-newsletter__text",innerHTML:this.text}),f("form",{key:"08ba3a98b082670794797a08048ab1cc683aaef4",class:"forja-newsletter__form",action:this.formAction,method:this.formAction?"post":void 0,onSubmit:this.handleSubmit},this.showName&&f("div",{key:"9537213f04bdd4d2e2008a783bc70a7e7a268865",class:"forja-newsletter__field"},f("label",{key:"8feb551b009eb8f288cbcb54b18360c9fe09a694",class:"forja-newsletter__label",htmlFor:t},"Name"),f("input",{key:"b2df119a4d000e46a8e1cfb1ab2a2514be2f28a4",id:t,name:"name",type:"text",class:"forja-newsletter__input"})),f("div",{key:"7fff741fe589ee3bc7f5eb278f07dfb78a4363c1",class:"forja-newsletter__field"},f("label",{key:"2dda48f90d5303de371101b1da09e0402291a704",class:"forja-newsletter__label",htmlFor:e},"Email"),f("input",{key:"7c913bcd86483511926cd2c6df3b2d8fae202a3b",id:e,name:"email",type:"email",class:"forja-newsletter__input",required:!0,"aria-required":"true"})),f("button",{key:"374357cafdc13172944199b9537f32fa252fa274",type:"submit",class:"forja-newsletter__submit"},this.buttonText)),f("slot",{key:"253f3650ec3839083c2ef1a768c78627fef141b3",name:"after"}))}},[260,"forja-newsletter",{sectionTitle:[1,"section-title"],text:[1],buttonText:[1,"button-text"],formAction:[1,"form-action"],showName:[4,"show-name"]}]);function l(){"undefined"!=typeof customElements&&["forja-newsletter"].forEach((t=>{"forja-newsletter"===t&&(customElements.get(e(t))||customElements.define(e(t),c))}))}l();const n=c,o=l;export{n as ForjaNewsletter,o as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaPortfolio extends Components.ForjaPortfolio, HTMLElement {}
4
+ export const ForjaPortfolio: {
5
+ prototype: ForjaPortfolio;
6
+ new (): ForjaPortfolio;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t as o,p as s,H as r,h as l}from"./p-DTKnQcqm.js";import{s as t}from"./p-CTbyYfdB.js";const i=s(class extends r{constructor(o){super(),!1!==o&&this.__registerHost()}renderExperiences(){return this.experiences&&0!==this.experiences.length?l("div",{class:"forja-portfolio__experiences"},l("h3",{class:"forja-portfolio__group-title"},"Experience"),l("ol",{class:"forja-portfolio__list"},this.experiences.map((o=>l("li",{class:"forja-portfolio__entry"},l("article",{class:"forja-portfolio__card"},o.logoUrl&&l("img",{src:o.logoUrl,alt:"",class:"forja-portfolio__logo",loading:"lazy"}),l("div",{class:"forja-portfolio__details"},l("h4",{class:"forja-portfolio__role"},o.role),l("p",{class:"forja-portfolio__company"},o.company),o.period&&l("time",{class:"forja-portfolio__period"},o.period),o.description&&l("div",{class:"forja-portfolio__description",innerHTML:o.description})))))))):null}renderEducation(){return this.education&&0!==this.education.length?l("div",{class:"forja-portfolio__education"},l("h3",{class:"forja-portfolio__group-title"},"Education"),l("ol",{class:"forja-portfolio__list"},this.education.map((o=>l("li",{class:"forja-portfolio__entry"},l("article",{class:"forja-portfolio__card"},l("div",{class:"forja-portfolio__details"},l("h4",{class:"forja-portfolio__role"},o.degree),l("p",{class:"forja-portfolio__company"},o.institution),o.period&&l("time",{class:"forja-portfolio__period"},o.period),o.description&&l("div",{class:"forja-portfolio__description",innerHTML:o.description})))))))):null}renderSkills(){if(!this.skills||0===this.skills.length)return null;const o=this.skills.reduce(((o,s)=>{const r=s.category||"General";return o[r]||(o[r]=[]),o[r].push(s),o}),{});return l("div",{class:"forja-portfolio__skills"},l("h3",{class:"forja-portfolio__group-title"},"Skills"),Object.entries(o).map((([s,r])=>l("div",{class:"forja-portfolio__skill-group"},Object.keys(o).length>1&&l("h4",{class:"forja-portfolio__skill-category"},s),l("ul",{class:"forja-portfolio__skill-list","data-columns":this.columns},r.map((o=>l("li",{class:"forja-portfolio__skill"},o.name))))))))}render(){return l("section",{key:"96e2ad1a4250c58f0785ccf1dcf38c7ac5b8d53a",class:"forja-portfolio","aria-label":t(this.sectionTitle,"Portfolio")},l("slot",{key:"a4f4d1379d09a2019e5e92de5bf0f65d8a78bf62",name:"before"}),this.sectionTitle&&l("h2",{key:"3419d7e33cda89d94ad2166c02df2b5451715ca7",class:"forja-portfolio__title"},this.sectionTitle),this.text&&l("div",{key:"1dc200413658bde80829bd57b166772e6e27b8be",class:"forja-portfolio__text",innerHTML:this.text}),this.renderExperiences(),this.renderEducation(),this.renderSkills(),l("slot",{key:"4ea0373f8e21524b516dd3f4b5a967acd3c7d7cf",name:"after"}))}},[260,"forja-portfolio",{sectionTitle:[1,"section-title"],text:[1],experiences:[16],education:[16],skills:[16],columns:[2]}]);function a(){"undefined"!=typeof customElements&&["forja-portfolio"].forEach((s=>{"forja-portfolio"===s&&(customElements.get(o(s))||customElements.define(o(s),i))}))}a();const e=i,f=a;export{e as ForjaPortfolio,f as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaPricing extends Components.ForjaPricing, HTMLElement {}
4
+ export const ForjaPricing: {
5
+ prototype: ForjaPricing;
6
+ new (): ForjaPricing;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t as i,p as s,H as c,h as a}from"./p-DTKnQcqm.js";import{s as e}from"./p-CTbyYfdB.js";const r=s(class extends c{constructor(i){super(),!1!==i&&this.__registerHost()}render(){const i=this.tiers&&this.tiers.length>0;return a("section",{key:"bae1df3d72dc351c1e55506fdfaad535f45814f6",class:"forja-pricing","aria-label":e(this.sectionTitle,"Pricing")},a("slot",{key:"343e7d5490dfc07cc2024661d404b1c2a44c46a9",name:"before"}),(this.sectionTitle||this.text)&&a("div",{key:"e91c8e1945da57bc28bbc6ee09b72dca1dd03d22",class:"forja-pricing__header"},this.sectionTitle&&a("h2",{key:"81000892bb72e034613283df85928c1c667a4f95",class:"forja-pricing__title"},this.sectionTitle),this.text&&a("div",{key:"56363c268fb40a5512ab90005463bf43402e8c2f",class:"forja-pricing__text",innerHTML:this.text})),a("div",{class:"forja-pricing__tiers",role:"list","data-columns":this.columns},i?this.tiers.map((i=>a("div",{class:"forja-pricing__tier"+(i.highlighted?" forja-pricing__tier--highlighted":""),role:"listitem"},a("h3",{class:"forja-pricing__tier-name"},i.name),a("div",{class:"forja-pricing__price"},a("span",{class:"forja-pricing__amount"},i.price),i.period&&a("span",{class:"forja-pricing__period"},i.period)),i.description&&a("p",{class:"forja-pricing__description"},i.description),i.features&&i.features.length>0&&a("ul",{class:"forja-pricing__features"},i.features.map((i=>a("li",{class:"forja-pricing__feature"},i)))),i.buttonText&&i.buttonHref&&a("a",{href:i.buttonHref,class:"forja-pricing__cta"},i.buttonText)))):a("slot",null)),a("slot",{key:"d4ed110c1c8ab8a865ba7c1066caf5867c36494c",name:"after"}))}},[260,"forja-pricing",{sectionTitle:[1,"section-title"],text:[1],tiers:[16],columns:[2]}]);function t(){"undefined"!=typeof customElements&&["forja-pricing"].forEach((s=>{"forja-pricing"===s&&(customElements.get(i(s))||customElements.define(i(s),r))}))}t();const n=r,o=t;export{n as ForjaPricing,o as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaProjects extends Components.ForjaProjects, HTMLElement {}
4
+ export const ForjaProjects: {
5
+ prototype: ForjaProjects;
6
+ new (): ForjaProjects;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t as s,p as e,H as t,h as a}from"./p-DTKnQcqm.js";import{s as c}from"./p-CTbyYfdB.js";const o=e(class extends t{constructor(s){super(),!1!==s&&this.__registerHost()}render(){const s=this.items&&this.items.length>0;return a("section",{key:"15db32b9f5878409c28debb36ded1047f657ce2a",class:"forja-projects","aria-label":c(this.sectionTitle,"Projects")},a("slot",{key:"f5dd2f0ca808fcfeaa11c4006dfaa88723ea4a47",name:"before"}),this.sectionTitle&&a("h2",{key:"fd5e121eb42bba78d4dc5b2719c1129182ebc030",class:"forja-projects__title"},this.sectionTitle),this.text&&a("div",{key:"dd82836aaf6934f7420fa2cce02e9574e27b4781",class:"forja-projects__text",innerHTML:this.text}),s?a("div",{class:"forja-projects__grid",role:"list","data-columns":this.columns},this.items.map((s=>a("article",{class:"forja-projects__card",role:"listitem"},s.imageUrl&&a("img",{src:s.imageUrl,alt:"",class:"forja-projects__image",loading:"lazy"}),a("div",{class:"forja-projects__content"},a("div",{class:"forja-projects__header"},a("h3",{class:"forja-projects__name"},s.href?a("a",{href:s.href,class:"forja-projects__link"},s.title):s.title),s.status&&a("span",{class:"forja-projects__status"},s.status)),s.description&&a("div",{class:"forja-projects__description",innerHTML:s.description}),s.tags&&s.tags.length>0&&a("ul",{class:"forja-projects__tags"},s.tags.map((s=>a("li",{class:"forja-projects__tag"},s))))))))):a("slot",null),a("slot",{key:"b7772bead8f5c04f3b3e857bc9da18adc29e38b7",name:"after"}))}},[260,"forja-projects",{sectionTitle:[1,"section-title"],text:[1],items:[16],columns:[2]}]);function r(){"undefined"!=typeof customElements&&["forja-projects"].forEach((e=>{"forja-projects"===e&&(customElements.get(s(e))||customElements.define(s(e),o))}))}r();const i=o,l=r;export{i as ForjaProjects,l as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaSectionRenderer extends Components.ForjaSectionRenderer, HTMLElement {}
4
+ export const ForjaSectionRenderer: {
5
+ prototype: ForjaSectionRenderer;
6
+ new (): ForjaSectionRenderer;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t,p as e,H as o,h as r}from"./p-DTKnQcqm.js";const s={Hero:"forja-hero",Features:"forja-features",Cta:"forja-cta",Gallery:"forja-gallery",Testimonials:"forja-testimonials",Pricing:"forja-pricing",Faq:"forja-faq",Contact:"forja-contact",Stats:"forja-stats",Team:"forja-team",Timeline:"forja-timeline",LogoCloud:"forja-logo-cloud",Newsletter:"forja-newsletter",Video:"forja-video",Divider:"forja-divider",Text:"forja-text-block",Portfolio:"forja-portfolio",TagCloud:"forja-tag-cloud",Projects:"forja-projects",Blog:"forja-blog",Legal:"forja-legal"},a=e(class extends o{constructor(t){super(),!1!==t&&this.__registerHost()}render(){const t=s[this.sectionType];return t?r(t,{sectionTitle:this.sectionTitle,text:this.text,imageUrl:this.imageUrl,imageAlt:this.imageAlt,buttonText:this.buttonText,buttonHref:this.buttonHref,items:this.items},r("slot",null)):r("section",{class:"forja-custom"},this.sectionTitle&&r("h2",{class:"forja-custom__title"},this.sectionTitle),this.text&&r("div",{class:"forja-custom__text",innerHTML:this.text}),r("slot",null))}},[260,"forja-section-renderer",{sectionType:[1,"section-type"],sectionTitle:[1,"section-title"],text:[1],imageUrl:[1,"image-url"],imageAlt:[1,"image-alt"],buttonText:[1,"button-text"],buttonHref:[1,"button-href"],items:[16],settings:[16]}]);function i(){"undefined"!=typeof customElements&&["forja-section-renderer"].forEach((e=>{"forja-section-renderer"===e&&(customElements.get(t(e))||customElements.define(t(e),a))}))}i();const n=a,l=i;export{n as ForjaSectionRenderer,l as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaStats extends Components.ForjaStats, HTMLElement {}
4
+ export const ForjaStats: {
5
+ prototype: ForjaStats;
6
+ new (): ForjaStats;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t as s,p as t,H as a,h as e}from"./p-DTKnQcqm.js";import{s as o}from"./p-CTbyYfdB.js";const c=t(class extends a{constructor(s){super(),!1!==s&&this.__registerHost()}render(){const s=this.items&&this.items.length>0,t=["forja-stats",this.statsStyle&&"forja-stats--"+this.statsStyle].filter(Boolean).join(" ");return e("section",{key:"3aa6f2f843bb0e295dcb84740af6c9fda39d8309",class:t,"aria-label":o(this.sectionTitle,"Statistics")},e("slot",{key:"9565f67c2e7192f8b965be5555eb7f43e271692c",name:"before"}),this.sectionTitle&&e("h2",{key:"cbf15bf5bc0e62702590a1725a6e188bea96639c",class:"forja-stats__title"},this.sectionTitle),this.text&&e("div",{key:"0beb283e6387a04c20a2ba853266b12769ac9725",class:"forja-stats__text",innerHTML:this.text}),s?e("dl",{class:"forja-stats__list","data-columns":this.columns},this.items.map((s=>e("div",{class:"forja-stats__item"},e("dd",{class:"forja-stats__value"},s.value),e("dt",{class:"forja-stats__label"},s.label))))):e("slot",null),e("slot",{key:"7a2ffd297dd37c72d0c16a42b268e8a6f607ad40",name:"after"}))}},[260,"forja-stats",{sectionTitle:[1,"section-title"],text:[1],items:[16],columns:[2],statsStyle:[1,"stats-style"]}]);function f(){"undefined"!=typeof customElements&&["forja-stats"].forEach((t=>{"forja-stats"===t&&(customElements.get(s(t))||customElements.define(s(t),c))}))}f();const i=c,l=f;export{i as ForjaStats,l as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaTagCloud extends Components.ForjaTagCloud, HTMLElement {}
4
+ export const ForjaTagCloud: {
5
+ prototype: ForjaTagCloud;
6
+ new (): ForjaTagCloud;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t as a,p as s,H as t,h as l}from"./p-DTKnQcqm.js";import{s as c}from"./p-CTbyYfdB.js";const e=s(class extends t{constructor(a){super(),!1!==a&&this.__registerHost()}render(){const a=this.tags&&this.tags.length>0;return l("section",{key:"dc9015d823c69a88c8252115948517887e7ce400",class:"forja-tag-cloud","aria-label":c(this.sectionTitle,"Tags")},l("slot",{key:"4a860c211a75f97d67755a1811db76c20840740f",name:"before"}),this.sectionTitle&&l("h2",{key:"bfae3b68ba76c7ce14d01d52ee47a5b5b6f04f89",class:"forja-tag-cloud__title"},this.sectionTitle),this.text&&l("div",{key:"7175c987bfadf8e4bb433e2cb8b856412818c0d0",class:"forja-tag-cloud__text",innerHTML:this.text}),a?l("nav",{class:"forja-tag-cloud__nav","aria-label":"Tags"},l("ul",{class:"forja-tag-cloud__list",role:"list"},this.tags.map((a=>l("li",{class:"forja-tag-cloud__item"},a.href?l("a",{href:a.href,class:"forja-tag-cloud__tag"},l("span",{class:"forja-tag-cloud__label"},a.label),null!=a.count&&l("span",{class:"forja-tag-cloud__count","aria-label":a.count+" items"},"(",a.count,")")):l("span",{class:"forja-tag-cloud__tag"},l("span",{class:"forja-tag-cloud__label"},a.label),null!=a.count&&l("span",{class:"forja-tag-cloud__count","aria-label":a.count+" items"},"(",a.count,")"))))))):l("slot",null),l("slot",{key:"673878f83e689016cf1a001e87774fe66c4c7baa",name:"after"}))}},[260,"forja-tag-cloud",{sectionTitle:[1,"section-title"],text:[1],tags:[16]}]);function o(){"undefined"!=typeof customElements&&["forja-tag-cloud"].forEach((s=>{"forja-tag-cloud"===s&&(customElements.get(a(s))||customElements.define(a(s),e))}))}o();const r=e,f=o;export{r as ForjaTagCloud,f as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaTeam extends Components.ForjaTeam, HTMLElement {}
4
+ export const ForjaTeam: {
5
+ prototype: ForjaTeam;
6
+ new (): ForjaTeam;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t as s,p as a,H as e,h as t}from"./p-DTKnQcqm.js";import{s as o}from"./p-CTbyYfdB.js";const i=a(class extends e{constructor(s){super(),!1!==s&&this.__registerHost(),this.showRole=!0,this.showBio=!0}render(){const s=this.members&&this.members.length>0;return t("section",{key:"b5d2dcb808386048367cfa97b31c6075732ba828",class:"forja-team","aria-label":o(this.sectionTitle,"Team")},t("slot",{key:"df3d484b90a7d755eda0a784f21edbd921e71401",name:"before"}),this.sectionTitle&&t("h2",{key:"2818b057df2f2c6319af8d17a43537714a62db34",class:"forja-team__title"},this.sectionTitle),this.text&&t("div",{key:"265903df6beaae84ff4d6cc1a9d11ae3f51f15d5",class:"forja-team__text",innerHTML:this.text}),s?t("ul",{class:"forja-team__grid",role:"list","data-columns":this.columns},this.members.map((s=>t("li",{class:"forja-team__member"},s.imageUrl&&t("figure",{class:"forja-team__photo"},t("img",{src:s.imageUrl,alt:s.name,class:"forja-team__image",loading:"lazy"})),t("h3",{class:"forja-team__name"},s.name),this.showRole&&s.role&&t("p",{class:"forja-team__role"},s.role),this.showBio&&s.bio&&t("p",{class:"forja-team__bio"},s.bio))))):t("slot",null),t("slot",{key:"81263f35ba229207c4978b65890c527590dfdae5",name:"after"}))}},[260,"forja-team",{sectionTitle:[1,"section-title"],text:[1],members:[16],columns:[2],showRole:[4,"show-role"],showBio:[4,"show-bio"]}]);function r(){"undefined"!=typeof customElements&&["forja-team"].forEach((a=>{"forja-team"===a&&(customElements.get(s(a))||customElements.define(s(a),i))}))}r();const l=i,m=r;export{l as ForjaTeam,m as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaTestimonials extends Components.ForjaTestimonials, HTMLElement {}
4
+ export const ForjaTestimonials: {
5
+ prototype: ForjaTestimonials;
6
+ new (): ForjaTestimonials;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t as s,p as t,H as a,h as e}from"./p-DTKnQcqm.js";import{s as i}from"./p-CTbyYfdB.js";const o=t(class extends a{constructor(s){super(),!1!==s&&this.__registerHost()}render(){const s=this.items&&this.items.length>0;return e("section",{key:"608ac151afb59df61bf99ea38f5eba2d819ef6ac",class:"forja-testimonials","aria-label":i(this.sectionTitle,"Testimonials")},e("slot",{key:"016f3b316cec3979efaee8dd4e19497a623ca292",name:"before"}),this.sectionTitle&&e("h2",{key:"5d0f9dac43cbd4e6d7ded6236c98a4d428d3723a",class:"forja-testimonials__title"},this.sectionTitle),this.text&&e("div",{key:"8d5bd0fd2c9b39aba0a461bef14df16a4b8197ba",class:"forja-testimonials__text",innerHTML:this.text}),e("div",{class:"forja-testimonials__list",role:"list","data-columns":this.columns},s?this.items.map((s=>e("blockquote",{class:"forja-testimonials__item",role:"listitem"},e("p",{class:"forja-testimonials__quote"},s.quote),e("footer",{class:"forja-testimonials__attribution"},s.avatarUrl&&e("img",{src:s.avatarUrl,alt:"",class:"forja-testimonials__avatar",loading:"lazy"}),e("cite",{class:"forja-testimonials__author"},e("span",{class:"forja-testimonials__name"},s.author),s.role&&e("span",{class:"forja-testimonials__role"},s.role)))))):e("slot",null)),e("slot",{key:"f5079a207668e548632b607f174e630a46854cc8",name:"after"}))}},[260,"forja-testimonials",{sectionTitle:[1,"section-title"],text:[1],items:[16],columns:[2]}]);function l(){"undefined"!=typeof customElements&&["forja-testimonials"].forEach((t=>{"forja-testimonials"===t&&(customElements.get(s(t))||customElements.define(s(t),o))}))}l();const n=o,c=l;export{n as ForjaTestimonials,c as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaTextBlock extends Components.ForjaTextBlock, HTMLElement {}
4
+ export const ForjaTextBlock: {
5
+ prototype: ForjaTextBlock;
6
+ new (): ForjaTextBlock;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t,p as e,H as s,h as o}from"./p-DTKnQcqm.js";import{s as a}from"./p-CTbyYfdB.js";const c=e(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.width="default",this.alignment="left"}render(){return o("section",{key:"2cc7f40271cc449ec8b4fc88576398a0b0763aca",class:["forja-text","forja-text--"+this.width,"forja-text--"+this.alignment].join(" "),"aria-label":a(this.sectionTitle,"Content")},o("slot",{key:"7da4597bc3dde56e4ae4179ae871f08f332c1c7f",name:"before"}),this.sectionTitle&&o("h2",{key:"ba03ee398659bf8926d6c434012b553e430a9413",class:"forja-text__title"},this.sectionTitle),this.text?o("div",{class:"forja-text__content",innerHTML:this.text}):o("div",{class:"forja-text__content"},o("slot",null)),o("slot",{key:"138eeef4fa534fd22772da123bbd6b7b30c20078",name:"after"}))}},[260,"forja-text-block",{sectionTitle:[1,"section-title"],text:[1],width:[1],alignment:[1]}]);function n(){"undefined"!=typeof customElements&&["forja-text-block"].forEach((e=>{"forja-text-block"===e&&(customElements.get(t(e))||customElements.define(t(e),c))}))}n();const f=c,i=n;export{f as ForjaTextBlock,i as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaTimeline extends Components.ForjaTimeline, HTMLElement {}
4
+ export const ForjaTimeline: {
5
+ prototype: ForjaTimeline;
6
+ new (): ForjaTimeline;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t as e,p as t,H as s,h as i}from"./p-DTKnQcqm.js";import{s as a}from"./p-CTbyYfdB.js";const l=t(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.layout="vertical",this.showDates=!0}render(){const e=this.events&&this.events.length>0;return i("section",{key:"cebf45a5dea290fa21d427394db4916b4224df54",class:["forja-timeline","forja-timeline--"+this.layout].join(" "),"aria-label":a(this.sectionTitle,"Timeline")},i("slot",{key:"cf344c1df40eb02608a4255ec4b176f9efcd0ada",name:"before"}),this.sectionTitle&&i("h2",{key:"fab8e6c374c2e57fa345d092fc9453b0e4fc16ec",class:"forja-timeline__title"},this.sectionTitle),this.text&&i("div",{key:"0282811543111b55001d8b4fbe7e02cb7d944a7e",class:"forja-timeline__text",innerHTML:this.text}),e?i("ol",{class:"forja-timeline__list"},this.events.map((e=>i("li",{class:"forja-timeline__item"},this.showDates&&e.date&&i("time",{class:"forja-timeline__date"},e.date),i("h3",{class:"forja-timeline__event-title"},e.title),e.text&&i("div",{class:"forja-timeline__event-text",innerHTML:e.text}))))):i("slot",null),i("slot",{key:"b56de78fa2dee0850de2ef5c0ca48243f8cf6e2c",name:"after"}))}},[260,"forja-timeline",{sectionTitle:[1,"section-title"],text:[1],events:[16],layout:[1],showDates:[4,"show-dates"]}]);function n(){"undefined"!=typeof customElements&&["forja-timeline"].forEach((t=>{"forja-timeline"===t&&(customElements.get(e(t))||customElements.define(e(t),l))}))}n();const c=l,o=n;export{c as ForjaTimeline,o as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface ForjaVideo extends Components.ForjaVideo, HTMLElement {}
4
+ export const ForjaVideo: {
5
+ prototype: ForjaVideo;
6
+ new (): ForjaVideo;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{t as e,p as t,H as s,h as o}from"./p-DTKnQcqm.js";import{s as a}from"./p-CTbyYfdB.js";const i=t(class extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.provider="youtube",this.autoplay=!1,this.aspectRatio="16:9"}getAspectClass(){return{"16:9":"forja-video--16-9","4:3":"forja-video--4-3","1:1":"forja-video--1-1"}[this.aspectRatio]||"forja-video--16-9"}isSelfHosted(){return"self-hosted"===this.provider}render(){const e=["forja-video",this.getAspectClass()].join(" ");return o("section",{key:"8f7dd28af86bfa7a3a1418bef19e6f9658d49cc6",class:e,"aria-label":a(this.sectionTitle,"Video")},o("slot",{key:"7b34145bcee01a80095725a5adba5266dc1af703",name:"before"}),this.sectionTitle&&o("h2",{key:"4959dd55b6c5e146482c14057ebeffd39c45bedd",class:"forja-video__title"},this.sectionTitle),this.text&&o("div",{key:"42af3c36bad0c44ae1194f17217e969d46a01e8d",class:"forja-video__text",innerHTML:this.text}),this.videoUrl&&o("figure",{key:"da0c9136b339b00f4f699deb077daff0bcc48715",class:"forja-video__container"},this.isSelfHosted()?o("video",{class:"forja-video__player",src:this.videoUrl,controls:!0,autoplay:this.autoplay},o("track",{kind:"captions"})):o("iframe",{class:"forja-video__embed",src:this.autoplay?this.videoUrl+"?autoplay=1":this.videoUrl,title:this.sectionTitle||"Embedded video",allowFullScreen:!0,loading:"lazy"})),o("slot",{key:"9c6b4f1345c7470b773c265a9884b799218a6d5f",name:"after"}))}},[260,"forja-video",{sectionTitle:[1,"section-title"],text:[1],videoUrl:[1,"video-url"],provider:[1],autoplay:[4],aspectRatio:[1,"aspect-ratio"]}]);function d(){"undefined"!=typeof customElements&&["forja-video"].forEach((t=>{"forja-video"===t&&(customElements.get(e(t))||customElements.define(e(t),i))}))}d();const r=i,c=d;export{r as ForjaVideo,c as defineCustomElement}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Get the base path to where the assets can be found. Use "setAssetPath(path)"
3
+ * if the path needs to be customized.
4
+ */
5
+ export declare const getAssetPath: (path: string) => string;
6
+
7
+ /**
8
+ * Used to manually set the base path where assets can be found.
9
+ * If the script is used as "module", it's recommended to use "import.meta.url",
10
+ * such as "setAssetPath(import.meta.url)". Other options include
11
+ * "setAssetPath(document.currentScript.src)", or using a bundler's replace plugin to
12
+ * dynamically set the path at build time, such as "setAssetPath(process.env.ASSET_PATH)".
13
+ * But do note that this configuration depends on how your script is bundled, or lack of
14
+ * bundling, and where your assets can be loaded from. Additionally custom bundling
15
+ * will have to ensure the static assets are copied to its build directory.
16
+ */
17
+ export declare const setAssetPath: (path: string) => void;
18
+
19
+ /**
20
+ * Used to specify a nonce value that corresponds with an application's CSP.
21
+ * When set, the nonce will be added to all dynamically created script and style tags at runtime.
22
+ * Alternatively, the nonce value can be set on a meta tag in the DOM head
23
+ * (<meta name="csp-nonce" content="{ nonce value here }" />) which
24
+ * will result in the same behavior.
25
+ */
26
+ export declare const setNonce: (nonce: string) => void
27
+
28
+ export interface SetPlatformOptions {
29
+ raf?: (c: FrameRequestCallback) => number;
30
+ ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
31
+ rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
32
+ }
33
+ export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
34
+
35
+ export * from '../types';
@@ -0,0 +1 @@
1
+ export{g as getAssetPath,r as render,s as setAssetPath,a as setNonce,b as setPlatformOptions}from"./p-DTKnQcqm.js";export{a as sectionId,s as sectionLabel}from"./p-CTbyYfdB.js";const e={CookieConsent:"Cookie Consent",PrivacyPolicy:"Privacy Policy",TermsOfService:"Terms of Service",Imprint:"Imprint",Disclaimer:"Disclaimer"};export{e as LEGAL_DOC_TYPE_LABELS}
@@ -0,0 +1 @@
1
+ function n(n,t){return(null==n?void 0:n.trim())||t}function t(n,t){return n?`${t}-${n.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}`:`${t}-${Math.random().toString(36).slice(2,8)}`}export{t as a,n as s}
@@ -0,0 +1 @@
1
+ function t(t,n,e){const o="undefined"!=typeof HTMLElement?HTMLElement.prototype:null;for(;t&&t!==o;){const o=Object.getOwnPropertyDescriptor(t,n);if(o&&(!e||o.get))return o;t=Object.getPrototypeOf(t)}}var n=(n,e)=>{var o;Object.entries(null!=(o=e.o.t)?o:{}).map((([o,[l]])=>{if(31&l||32&l){const l=n[o],s=t(Object.getPrototypeOf(n),o,!0)||Object.getOwnPropertyDescriptor(n,o);s&&Object.defineProperty(n,o,{get(){return s.get.call(this)},set(t){s.set.call(this,t)},configurable:!0,enumerable:!0}),e.l.has(o)?n[o]=e.l.get(o):void 0!==l&&(n[o]=l)}}))},e=t=>{if(t.__stencil__getHostRef)return t.__stencil__getHostRef()},o=(t,n)=>n in t,l=(t,n)=>(0,console.error)(t,n),s="undefined"!=typeof window?window:{},r=s.HTMLElement||class{},i={i:0,u:"",jmp:t=>t(),raf:t=>requestAnimationFrame(t),ael:(t,n,e,o)=>t.addEventListener(n,e,o),rel:(t,n,e,o)=>t.removeEventListener(n,e,o),ce:(t,n)=>new CustomEvent(t,n)},c=!1,f=[],u=[],a=(t,n)=>e=>{t.push(e),c||(c=!0,n&&4&i.i?h(p):i.raf(p))},d=t=>{for(let n=0;n<t.length;n++)try{t[n](performance.now())}catch(t){l(t)}t.length=0},p=()=>{d(f),d(u),(c=f.length>0)&&i.raf(p)},h=t=>Promise.resolve(undefined).then(t),v=a(u,!0),m=t=>{const n=new URL(t,i.u);return n.origin!==s.location.origin?n.href:n.pathname},b=t=>i.u=t,$=t=>{const n=O(t,"childNodes");t.tagName&&t.tagName.includes("-")&&t["s-cr"]&&"SLOT-FB"!==t.tagName&&y(n,t.tagName).forEach((t=>{1===t.nodeType&&"SLOT-FB"===t.tagName&&(t.hidden=!!g(t,j(t),!1).length)}));let e=0;for(e=0;e<n.length;e++){const t=n[e];1===t.nodeType&&O(t,"childNodes").length&&$(t)}};function y(t,n,e){let o,l=0,s=[];for(;l<t.length;l++){if(o=t[l],o["s-sr"]&&(!n||o["s-hn"]===n)&&(void 0===e||j(o)===e)&&(s.push(o),void 0!==e))return s;s=[...s,...y(o.childNodes,n,e)]}return s}var g=(t,n,e=!0)=>{const o=[];(e&&t["s-sr"]||!t["s-sr"])&&o.push(t);let l=t;for(;l=l.nextSibling;)j(l)!==n||!e&&l["s-sr"]||o.push(l);return o},w=(t,n)=>1===t.nodeType?null===t.getAttribute("slot")&&""===n||t.getAttribute("slot")===n:t["s-sn"]===n||""===n,j=t=>"string"==typeof t["s-sn"]?t["s-sn"]:1===t.nodeType&&t.getAttribute("slot")||void 0;function O(t,n){if("__"+n in t){const e=t["__"+n];return"function"!=typeof e?e:e.bind(t)}return"function"!=typeof t[n]?t[n]:t[n].bind(t)}var N,k,E=new WeakMap,M=t=>"object"==(t=typeof t)||"function"===t,S=(t,n,...e)=>{let o=null,l=null,s=null,r=!1,i=!1;const c=[],f=n=>{for(let e=0;e<n.length;e++)o=n[e],Array.isArray(o)?f(o):null!=o&&"boolean"!=typeof o&&((r="function"!=typeof t&&!M(o))&&(o=String(o)),r&&i?c[c.length-1].p+=o:c.push(r?_(null,o):o),i=r)};if(f(e),n){n.key&&(l=n.key),n.name&&(s=n.name);{const t=n.className||n.class;t&&(n.class="object"!=typeof t?t:Object.keys(t).filter((n=>t[n])).join(" "))}}if("function"==typeof t)return t(null===n?{}:n,c,A);const u=_(t,null);return u.h=n,c.length>0&&(u.v=c),u.m=l,u.$=s,u},_=(t,n)=>({i:0,j:t,p:null!=n?n:null,O:null,v:null,h:null,m:null,$:null}),L={},A={forEach:(t,n)=>t.map(R).forEach(n),map:(t,n)=>t.map(R).map(n).map(x)},R=t=>({vattrs:t.h,vchildren:t.v,vkey:t.m,vname:t.$,vtag:t.j,vtext:t.p}),x=t=>{if("function"==typeof t.vtag){const n={...t.vattrs};return t.vkey&&(n.key=t.vkey),t.vname&&(n.name=t.vname),S(t.vtag,n,...t.vchildren||[])}const n=_(t.vtag,t.vtext);return n.h=t.vattrs,n.v=t.vchildren,n.m=t.vkey,n.$=t.vname,n},F=(t,n)=>null==t||M(t)?t:4&n?"false"!==t&&(""===t||!!t):2&n?"string"==typeof t?parseFloat(t):"number"==typeof t?t:NaN:1&n?String(t):t,T=(t,n)=>{const e=t;return{emit:t=>C(e,n,{bubbles:!0,composed:!0,cancelable:!0,detail:t})}},C=(t,n,e)=>{const o=i.ce(n,e);return t.dispatchEvent(o),o},P=(t,n,l,r,c,f)=>{if(l===r)return;let u=o(t,n),a=n.toLowerCase();if("class"===n){const n=t.classList,e=H(l);let o=H(r);n.remove(...e.filter((t=>t&&!o.includes(t)))),n.add(...o.filter((t=>t&&!e.includes(t))))}else if("key"===n);else if(t.__lookupSetter__(n)||"o"!==n[0]||"n"!==n[1]){if("a"===n[0]&&n.startsWith("attr:")){const o=n.slice(5);let l;{const n=e(t);if(n&&n.o&&n.o.t){const t=n.o.t[o];t&&t[1]&&(l=t[1])}}return l||(l=o.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),void(null==r||!1===r?!1===r&&""!==t.getAttribute(l)||t.removeAttribute(l):t.setAttribute(l,!0===r?"":r))}if("p"===n[0]&&n.startsWith("prop:")){const e=n.slice(5);try{t[e]=r}catch(t){}return}{const e=M(r);if((u||e&&null!==r)&&!c)try{if(t.tagName.includes("-"))t[n]!==r&&(t[n]=r);else{const e=null==r?"":r;"list"===n?u=!1:null!=l&&t[n]===e||("function"==typeof t.__lookupSetter__(n)?t[n]=e:t.setAttribute(n,e))}}catch(t){}null==r||!1===r?!1===r&&""!==t.getAttribute(n)||t.removeAttribute(n):(!u||4&f||c)&&!e&&1===t.nodeType&&t.setAttribute(n,r=!0===r?"":r)}}else if(n="-"===n[2]?n.slice(3):o(s,a)?a.slice(2):a[2]+n.slice(3),l||r){const e=n.endsWith(U);n=n.replace(W,""),l&&i.rel(t,n,l,e),r&&i.ael(t,n,r,e)}},D=/\s/,H=t=>("object"==typeof t&&t&&"baseVal"in t&&(t=t.baseVal),t&&"string"==typeof t?t.split(D):[]),U="Capture",W=new RegExp(U+"$"),B=(t,n,e)=>{const o=11===n.O.nodeType&&n.O.host?n.O.host:n.O,l=t&&t.h||{},s=n.h||{};for(const t of V(Object.keys(l)))t in s||P(o,t,l[t],void 0,e,n.i);for(const t of V(Object.keys(s)))P(o,t,l[t],s[t],e,n.i)};function V(t){return t.includes("ref")?[...t.filter((t=>"ref"!==t)),"ref"]:t}var q=!1,z=!1,Y=!1,I=!1,Z=(t,n,e)=>{var o;const l=n.v[e];let r,i,c,f=0;if(q||(Y=!0,"slot"===l.j&&(l.i|=l.v?2:1)),null!=l.p)r=l.O=s.document.createTextNode(l.p);else if(1&l.i)r=l.O=s.document.createTextNode(""),B(null,l,I);else{if(I||(I="svg"===l.j),!s.document)throw new Error("You are trying to render a Stencil component in an environment that doesn't support the DOM.");if(r=l.O=s.document.createElementNS(I?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",!q&&2&l.i?"slot-fb":l.j),I&&"foreignObject"===l.j&&(I=!1),B(null,l,I),l.v){const n="template"===l.j?r.content:r;for(f=0;f<l.v.length;++f)i=Z(t,l,f),i&&n.appendChild(i)}"svg"===l.j?I=!1:"foreignObject"===r.tagName&&(I=!0)}return r["s-hn"]=k,3&l.i&&(r["s-sr"]=!0,r["s-cr"]=N,r["s-sn"]=l.$||"",r["s-rf"]=null==(o=l.h)?void 0:o.ref,function(t){if(t.assignedElements||t.assignedNodes||!t["s-sr"])return;const n=n=>function(t){const e=[],o=this["s-sn"];(null==t?void 0:t.flatten)&&console.error("\n Flattening is not supported for Stencil non-shadow slots.\n You can use `.childNodes` to nested slot fallback content.\n If you have a particular use case, please open an issue on the Stencil repo.\n ");const l=this["s-cr"].parentElement;return(l.__childNodes?l.childNodes:(t=>{const n=[];for(let e=0;e<t.length;e++){const o=t[e]["s-nr"]||void 0;o&&o.isConnected&&n.push(o)}return n})(l.childNodes)).forEach((t=>{o===j(t)&&e.push(t)})),n?e.filter((t=>1===t.nodeType)):e}.bind(t);t.assignedElements=n(!0),t.assignedNodes=n(!1)}(r),c=t&&t.v&&t.v[e],c&&c.j===l.j&&t.O&&G(t.O)),r},G=t=>{i.i|=1;const n=t.closest(k.toLowerCase());if(null!=n){const e=Array.from(n.__childNodes||n.childNodes).find((t=>t["s-cr"])),o=Array.from(t.__childNodes||t.childNodes);for(const t of e?o.reverse():o)null!=t["s-sh"]&&(lt(n,t,null!=e?e:null),t["s-sh"]=void 0,Y=!0)}i.i&=-2},J=(t,n)=>{i.i|=1;const e=Array.from(t.__childNodes||t.childNodes);if(t["s-sr"]){let n=t;for(;n=n.nextSibling;)n&&n["s-sn"]===t["s-sn"]&&n["s-sh"]===k&&e.push(n)}for(let t=e.length-1;t>=0;t--){const o=e[t];o["s-hn"]!==k&&o["s-ol"]&&(lt(tt(o).parentNode,o,tt(o)),o["s-ol"].remove(),o["s-ol"]=void 0,o["s-sh"]=void 0,Y=!0),n&&J(o,n)}i.i&=-2},K=(t,n,e,o,l,s)=>{let r,i=t["s-cr"]&&t["s-cr"].parentNode||t;for("template"===e.j&&(i=i.content);l<=s;++l)o[l]&&(r=Z(null,e,l),r&&(o[l].O=r,lt(i,r,tt(n))))},Q=(t,n,e)=>{for(let o=n;o<=e;++o){const n=t[o];if(n){const t=n.O;t&&(z=!0,t["s-ol"]?t["s-ol"].remove():J(t,!0),t.remove())}}},X=(t,n,e=!1)=>t.j===n.j&&("slot"===t.j?t.$===n.$:e?(e&&!t.m&&n.m&&(t.m=n.m),!0):t.m===n.m),tt=t=>t&&t["s-ol"]||t,nt=(t,n,e=!1)=>{const o=n.O=t.O,l=t.v,s=n.v,r=n.j,i=n.p;let c;null==i?(I="svg"===r||"foreignObject"!==r&&I,"slot"!==r||q||t.$!==n.$&&(n.O["s-sn"]=n.$||"",G(n.O.parentElement)),B(t,n,I),null!==l&&null!==s?((t,n,e,o,l=!1)=>{let s,r,i=0,c=0,f=0,u=0,a=n.length-1,d=n[0],p=n[a],h=o.length-1,v=o[0],m=o[h];const b="template"===e.j?t.content:t;for(;i<=a&&c<=h;)if(null==d)d=n[++i];else if(null==p)p=n[--a];else if(null==v)v=o[++c];else if(null==m)m=o[--h];else if(X(d,v,l))nt(d,v,l),d=n[++i],v=o[++c];else if(X(p,m,l))nt(p,m,l),p=n[--a],m=o[--h];else if(X(d,m,l))"slot"!==d.j&&"slot"!==m.j||J(d.O.parentNode,!1),nt(d,m,l),lt(b,d.O,p.O.nextSibling),d=n[++i],m=o[--h];else if(X(p,v,l))"slot"!==d.j&&"slot"!==m.j||J(p.O.parentNode,!1),nt(p,v,l),lt(b,p.O,d.O),p=n[--a],v=o[++c];else{for(f=-1,u=i;u<=a;++u)if(n[u]&&null!==n[u].m&&n[u].m===v.m){f=u;break}f>=0?(r=n[f],r.j!==v.j?s=Z(n&&n[c],e,f):(nt(r,v,l),n[f]=void 0,s=r.O),v=o[++c]):(s=Z(n&&n[c],e,c),v=o[++c]),s&&lt(tt(d.O).parentNode,s,tt(d.O))}i>a?K(t,null==o[h+1]?null:o[h+1].O,e,o,c,h):c>h&&Q(n,i,a)})(o,l,n,s,e):null!==s?(null!==t.p&&(o.textContent=""),K(o,null,n,s,0,s.length-1)):!e&&null!==l&&Q(l,0,l.length-1),I&&"svg"===r&&(I=!1)):(c=o["s-cr"])?c.parentNode.textContent=i:t.p!==i&&(o.data=i)},et=[],ot=t=>{let n,e,o;const l=t.__childNodes||t.childNodes;for(const t of l){if(t["s-sr"]&&(n=t["s-cr"])&&n.parentNode){e=n.parentNode.__childNodes||n.parentNode.childNodes;const l=t["s-sn"];for(o=e.length-1;o>=0;o--)if(n=e[o],!(n["s-cn"]||n["s-nr"]||n["s-hn"]===t["s-hn"]||n["s-sh"]&&n["s-sh"]===t["s-hn"]))if(w(n,l)){let e=et.find((t=>t.N===n));z=!0,n["s-sn"]=n["s-sn"]||l,e?(e.N["s-sh"]=t["s-hn"],e.k=t):(n["s-sh"]=t["s-hn"],et.push({k:t,N:n})),n["s-sr"]&&et.map((t=>{w(t.N,n["s-sn"])&&(e=et.find((t=>t.N===n)),e&&!t.k&&(t.k=e.k))}))}else et.some((t=>t.N===n))||et.push({N:n})}1===t.nodeType&&ot(t)}},lt=(t,n,e,o)=>{if("string"==typeof n["s-sn"]){t.insertBefore(n,e);const{slotNode:l}=function(t,n){var e;if(!(n=n||(null==(e=t["s-ol"])?void 0:e.parentElement)))return{slotNode:null,slotName:""};const o=t["s-sn"]=j(t)||"";return{slotNode:y(O(n,"childNodes"),n.tagName,o)[0],slotName:o}}(n);return l&&!o&&l.dispatchEvent(new CustomEvent("slotchange",{bubbles:!1,cancelable:!1,composed:!1})),n}return t.__insertBefore?t.__insertBefore(n,e):null==t?void 0:t.insertBefore(n,e)},st=(t,n,e=!1)=>{var o,l,r,c,f;const u=t.$hostElement$,a=t.o,d=t.M||_(null,null);var p;const h=(p=n)&&p.j===L?n:S(null,null,n);if(k=u.tagName,e&&h.h)for(const t of Object.keys(h.h))u.hasAttribute(t)&&!["key","ref","style","class"].includes(t)&&(h.h[t]=u[t]);if(h.j=null,h.i|=4,t.M=h,h.O=d.O=u,q=false,N=u["s-cr"],z=!1,nt(d,h,e),i.i|=1,Y){ot(h.O);for(const t of et){const n=t.N;if(!n["s-ol"]&&s.document){const t=s.document.createTextNode("");t["s-nr"]=n,lt(n.parentNode,n["s-ol"]=t,n,e)}}for(const t of et){const n=t.N,i=t.k;if(1===n.nodeType&&e&&(n["s-ih"]=null!=(o=n.hidden)&&o),i){const t=i.parentNode;let o=i.nextSibling;if(o&&1===o.nodeType){let e=null==(l=n["s-ol"])?void 0:l.previousSibling;for(;e;){let l=null!=(r=e["s-nr"])?r:null;if(l&&l["s-sn"]===n["s-sn"]&&t===(l.__parentNode||l.parentNode)){for(l=l.nextSibling;l===n||(null==l?void 0:l["s-sr"]);)l=null==l?void 0:l.nextSibling;if(!l||!l["s-nr"]){o=l;break}}e=e.previousSibling}}if((!o&&t!==(n.__parentNode||n.parentNode)||(n.__nextSibling||n.nextSibling)!==o)&&n!==o){if(lt(t,n,o,e),8===n.nodeType&&n.nodeValue.startsWith("s-nt-")){const t=s.document.createTextNode(n.nodeValue.replace(/^s-nt-/,""));t["s-hn"]=n["s-hn"],t["s-sn"]=n["s-sn"],t["s-sh"]=n["s-sh"],t["s-sr"]=n["s-sr"],t["s-ol"]=n["s-ol"],t["s-ol"]["s-nr"]=t,lt(n.parentNode,t,n,e),n.parentNode.removeChild(n)}1===n.nodeType&&"SLOT-FB"!==n.tagName&&(n.hidden=null!=(c=n["s-ih"])&&c)}n&&"function"==typeof i["s-rf"]&&i["s-rf"](i)}else 1===n.nodeType&&(n.hidden=!0)}}if(z&&$(h.O),i.i&=-2,et.length=0,!q&&!(1&a.i)&&u["s-cr"]){const t=h.O.__childNodes||h.O.childNodes;for(const n of t)if(n["s-hn"]!==k&&!n["s-sh"])if(e&&null==n["s-ih"]&&(n["s-ih"]=null!=(f=n.hidden)&&f),1===n.nodeType)n.hidden=!0;else if(3===n.nodeType&&n.nodeValue.trim()){const t=s.document.createComment("s-nt-"+n.nodeValue);t["s-sn"]=n["s-sn"],lt(n.parentNode,t,n,e),n.parentNode.removeChild(n)}}N=void 0},rt=(t,n)=>{if(n&&!t.S&&n["s-p"]){const e=n["s-p"].push(new Promise((o=>t.S=()=>{n["s-p"].splice(e-1,1),o()})))}},it=(t,n)=>{if(t.i|=16,4&t.i)return void(t.i|=512);rt(t,t._);const e=()=>ct(t,n);if(!n)return v(e);queueMicrotask((()=>{e()}))},ct=(t,n)=>{const e=t.$hostElement$,o=e;if(!o)throw new Error(`Can't render component <${e.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let l;return l=vt(o,n?"componentWillLoad":"componentWillUpdate",void 0,e),l=ft(l,(()=>vt(o,"componentWillRender",void 0,e))),ft(l,(()=>at(t,o,n)))},ft=(t,n)=>ut(t)?t.then(n).catch((t=>{console.error(t),n()})):n(),ut=t=>t instanceof Promise||t&&t.then&&"function"==typeof t.then,at=async(t,n,e)=>{var o;const l=t.$hostElement$,s=l["s-rc"];dt(t,n,l,e),s&&(s.map((t=>t())),l["s-rc"]=void 0);{const n=null!=(o=l["s-p"])?o:[],e=()=>pt(t);0===n.length?e():(Promise.all(n).then(e).catch(e),t.i|=4,n.length=0)}},dt=(t,n,e,o)=>{try{n=n.render(),t.i&=-17,t.i|=2,st(t,n,o)}catch(n){l(n,t.$hostElement$)}return null},pt=t=>{const n=t.$hostElement$,e=n,o=t._;vt(e,"componentDidRender",void 0,n),64&t.i?vt(e,"componentDidUpdate",void 0,n):(t.i|=64,mt(n),vt(e,"componentDidLoad",void 0,n),t.L(n),o||ht()),t.S&&(t.S(),t.S=void 0),512&t.i&&h((()=>it(t,!1))),t.i&=-517},ht=()=>{h((()=>C(s,"appload",{detail:{namespace:"forja-sections"}})))},vt=(t,n,e,o)=>{if(t&&t[n])try{return t[n](e)}catch(t){l(t,o)}},mt=t=>t.classList.add("hydrated"),bt=(t,n,o,l)=>{const s=e(t);if(!s)return;const r=t,i=s.l.get(n),c=s.i,f=r;o=F(o,l.t[n][0]);const u=Number.isNaN(i)&&Number.isNaN(o);if(o!==i&&!u&&(s.l.set(n,o),2&c)){if(f.componentShouldUpdate&&!1===f.componentShouldUpdate(o,i,n)&&!(16&c))return;16&c||it(s,!1)}},$t=(n,o)=>{var l,s;const r=n.prototype;if(o.t){const c=Object.entries(null!=(l=o.t)?l:{});c.map((([n,[l]])=>{if(31&l||32&l){const{get:s,set:i}=t(r,n)||{};s&&(o.t[n][0]|=2048),i&&(o.t[n][0]|=4096),Object.defineProperty(r,n,{get(){return s?s.apply(this):(t=n,e(this).l.get(t));var t},configurable:!0,enumerable:!0}),Object.defineProperty(r,n,{set(t){const s=e(this);if(s){if(i)return void 0===(32&l?this[n]:s.$hostElement$[n])&&s.l.get(n)&&(t=s.l.get(n)),i.apply(this,[F(t,l)]),void bt(this,n,t=32&l?this[n]:s.$hostElement$[n],o);bt(this,n,t,o)}}})}}));{const t=new Map;r.attributeChangedCallback=function(n,l,s){i.jmp((()=>{var i;const f=t.get(n),u=e(this);if(this.hasOwnProperty(f),r.hasOwnProperty(f)&&"number"==typeof this[f]&&this[f]==s)return;if(null==f){const t=null==u?void 0:u.i;if(u&&t&&!(8&t)&&s!==l){const e=this,r=null==(i=o.A)?void 0:i[n];null==r||r.forEach((o=>{const[[r,i]]=Object.entries(o);null!=e[r]&&(128&t||1&i)&&e[r].call(e,s,l,n)}))}return}const a=c.find((([t])=>t===f));a&&4&a[1][0]&&(s=null!==s&&"false"!==s);const d=Object.getOwnPropertyDescriptor(r,f);s==this[f]||d.get&&!d.set||(this[f]=s)}))},n.observedAttributes=Array.from(new Set([...Object.keys(null!=(s=o.A)?s:{}),...c.filter((([t,n])=>31&n[0])).map((([n,e])=>{const o=e[1]||n;return t.set(o,n),o}))]))}}return n},yt=t=>{if(!s.document)return;const n=t["s-cr"]=s.document.createComment("");n["s-cn"]=!0,lt(t,n,t.firstChild)},gt=(t,o)=>{const s={i:o[0],R:o[1]};try{s.t=o[2];const r=t.prototype.connectedCallback,c=t.prototype.disconnectedCallback;return Object.assign(t.prototype,{__hasHostListenerAttached:!1,__registerHost(){((t,e)=>{const o={i:0,$hostElement$:t,o:e,l:new Map,F:new Map};o.T=new Promise((t=>o.L=t)),t["s-p"]=[],t["s-rc"]=[];const l=o;t.__stencil__getHostRef=()=>l,512&e.i&&n(t,o)})(this,s)},connectedCallback(){if(!this.__hasHostListenerAttached){if(!e(this))return;this.__hasHostListenerAttached=!0}(t=>{if(!(1&i.i)){const n=e(t);if(!n)return;const o=n.o,s=()=>{};if(1&n.i)(null==n?void 0:n.C)||(null==n?void 0:n.T)&&n.T.then((()=>{}));else{n.i|=1,12&o.i&&yt(t);{let e=t;for(;e=e.parentNode||e.host;)if(e["s-p"]){rt(n,n._=e);break}}o.t&&Object.entries(o.t).map((([n,[e]])=>{if(31&e&&Object.prototype.hasOwnProperty.call(t,n)){const e=t[n];delete t[n],t[n]=e}})),(async(t,n)=>{try{32&n.i||(n.i|=32,customElements.whenDefined(t.localName).then((()=>n.i|=128)));const e=n._,o=()=>it(n,!0);e&&e["s-rc"]?e["s-rc"].push(o):o()}catch(e){l(e,t),n.S&&(n.S(),n.S=void 0),n.L&&n.L(t)}})(t,n)}s()}})(this),r&&r.call(this)},disconnectedCallback(){(async t=>{1&i.i||e(t),E.has(t)&&E.delete(t),t.shadowRoot&&E.has(t.shadowRoot)&&E.delete(t.shadowRoot)})(this),c&&c.call(this)},__attachShadow(){this.shadowRoot=this}}),Object.defineProperty(t,"is",{value:s.R,configurable:!0}),$t(t,s)}catch(n){return l(n),t}},wt=t=>i.P=t,jt=t=>Object.assign(i,t);function Ot(t,n){st({o:{i:0,R:n.tagName},$hostElement$:n},t)}function Nt(t){return t}export{r as H,wt as a,jt as b,T as c,m as g,S as h,gt as p,Ot as r,b as s,Nt as t}
@@ -0,0 +1,2 @@
1
+ // Side-effect import — registers all custom elements
2
+ export {};
@@ -0,0 +1,24 @@
1
+ import './components/forja-blog.js';
2
+ import './components/forja-contact.js';
3
+ import './components/forja-cta.js';
4
+ import './components/forja-divider.js';
5
+ import './components/forja-faq.js';
6
+ import './components/forja-features.js';
7
+ import './components/forja-footer.js';
8
+ import './components/forja-gallery.js';
9
+ import './components/forja-hero.js';
10
+ import './components/forja-legal.js';
11
+ import './components/forja-logo-cloud.js';
12
+ import './components/forja-nav.js';
13
+ import './components/forja-newsletter.js';
14
+ import './components/forja-portfolio.js';
15
+ import './components/forja-pricing.js';
16
+ import './components/forja-projects.js';
17
+ import './components/forja-section-renderer.js';
18
+ import './components/forja-stats.js';
19
+ import './components/forja-tag-cloud.js';
20
+ import './components/forja-team.js';
21
+ import './components/forja-testimonials.js';
22
+ import './components/forja-text-block.js';
23
+ import './components/forja-timeline.js';
24
+ import './components/forja-video.js';
@@ -0,0 +1,24 @@
1
+ /**
2
+ * ARIA and accessibility helpers for section components.
3
+ * These utilities help maintain consistent accessible markup across all sections.
4
+ */
5
+ /** Build an aria-label from a title, falling back to a generic section description. */
6
+ function sectionLabel(title, fallback) {
7
+ return (title === null || title === void 0 ? void 0 : title.trim()) || fallback;
8
+ }
9
+ /**
10
+ * Generate a unique ID for linking headings to their content.
11
+ * Uses a slug derived from the title, or a random suffix if no title is provided.
12
+ */
13
+ function sectionId(title, prefix) {
14
+ if (title) {
15
+ const slug = title
16
+ .toLowerCase()
17
+ .replace(/[^a-z0-9]+/g, '-')
18
+ .replace(/^-|-$/g, '');
19
+ return `${prefix}-${slug}`;
20
+ }
21
+ return `${prefix}-${Math.random().toString(36).slice(2, 8)}`;
22
+ }
23
+
24
+ export { sectionId as a, sectionLabel as s };
@@ -0,0 +1,3 @@
1
+ const globalScripts = () => {};
2
+
3
+ export { globalScripts as g };
@@ -0,0 +1,14 @@
1
+ import { r as registerInstance, h } from './index-WdE4YutY.js';
2
+ import { s as sectionLabel } from './a11y-CTbyYfdB.js';
3
+
4
+ const ForjaBlog = class {
5
+ constructor(hostRef) {
6
+ registerInstance(this, hostRef);
7
+ }
8
+ render() {
9
+ const hasPosts = this.posts && this.posts.length > 0;
10
+ return (h("section", { key: '2e07ceebf04b3741b7a9e9003ca4cb4c227b1f53', class: "forja-blog", "aria-label": sectionLabel(this.sectionTitle, 'Blog') }, h("slot", { key: 'fa89312e96a5a9d76f9ecb35a2b884b86c724136', name: "before" }), this.sectionTitle && h("h2", { key: 'e2b67b101f958249015d16d3875ad4ef2045f5a9', class: "forja-blog__title" }, this.sectionTitle), this.text && h("div", { key: 'cfb8fe068f2ca902ebee227ff919b69a3c6e28f2', class: "forja-blog__text", innerHTML: this.text }), hasPosts ? (h("div", { class: "forja-blog__grid", role: "list", "data-columns": this.columns }, this.posts.map(post => (h("article", { class: "forja-blog__card", role: "listitem" }, post.imageUrl && (h("a", { href: post.href, class: "forja-blog__image-link" }, h("img", { src: post.imageUrl, alt: "", class: "forja-blog__image", loading: "lazy" }))), h("div", { class: "forja-blog__content" }, (post.date || post.author) && (h("div", { class: "forja-blog__meta" }, post.date && h("time", { class: "forja-blog__date" }, post.date), post.author && h("span", { class: "forja-blog__author" }, post.author))), h("h3", { class: "forja-blog__post-title" }, post.href ? (h("a", { href: post.href, class: "forja-blog__link" }, post.title)) : (post.title)), post.excerpt && (h("div", { class: "forja-blog__excerpt", innerHTML: post.excerpt })))))))) : (h("slot", null)), this.buttonText && this.buttonHref && (h("div", { key: 'd30200ce9a72871b17c225446e511c9792e541f1', class: "forja-blog__footer" }, h("a", { key: '42eb53eb15ec8a2c88cf7bf29a425b5e0c074c28', href: this.buttonHref, class: "forja-blog__cta" }, this.buttonText))), h("slot", { key: 'fc9ac4b7e88a64eb401abbec1cc5e93f9dea0455', name: "after" })));
11
+ }
12
+ };
13
+
14
+ export { ForjaBlog as forja_blog };
@@ -0,0 +1,23 @@
1
+ import { r as registerInstance, c as createEvent, h } from './index-WdE4YutY.js';
2
+ import { a as sectionId, s as sectionLabel } from './a11y-CTbyYfdB.js';
3
+
4
+ const ForjaContact = class {
5
+ constructor(hostRef) {
6
+ registerInstance(this, hostRef);
7
+ this.forjaSubmit = createEvent(this, "forjaSubmit");
8
+ this.handleSubmit = (e) => {
9
+ e.preventDefault();
10
+ const form = e.target;
11
+ this.forjaSubmit.emit(new FormData(form));
12
+ };
13
+ }
14
+ render() {
15
+ const hasFields = this.fields && this.fields.length > 0;
16
+ return (h("section", { key: '15bb71d6aa6d3d73c85ab4cdd7346696f3145074', class: "forja-contact", "aria-label": sectionLabel(this.sectionTitle, 'Contact') }, h("slot", { key: '63820a89dd1c9812dc0b931fd8ce7b17a7b1782e', name: "before" }), h("div", { key: 'b74c9c884de525c6a08a92c982f0a1c8a2235c02', class: "forja-contact__content" }, this.sectionTitle && h("h2", { key: '53014e550127a34a191adcef4b8eaa3b01dfec7a', class: "forja-contact__title" }, this.sectionTitle), this.text && h("div", { key: '38d9ff63e255d33328da1113a3b7f2fe82871a23', class: "forja-contact__text", innerHTML: this.text }), this.buttonText && this.buttonHref && (h("a", { key: '15ebb06b95b3cb6d58fb3d4caaa1e713126a201a', href: this.buttonHref, class: "forja-contact__cta" }, this.buttonText))), hasFields ? (h("form", { class: "forja-contact__form", action: this.formAction, method: this.formAction ? 'post' : undefined, onSubmit: this.handleSubmit }, this.fields.map(field => {
17
+ const fieldId = sectionId(field.name, 'contact');
18
+ return (h("div", { class: "forja-contact__field" }, h("label", { class: "forja-contact__label", htmlFor: fieldId }, field.label, field.required && h("span", { "aria-hidden": "true" }, " *")), field.type === 'textarea' ? (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 })) : (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 }))));
19
+ }), h("button", { type: "submit", class: "forja-contact__submit" }, this.buttonText || 'Send'))) : (h("slot", null)), h("slot", { key: '7ec1b5c2ee966906cbd6fa05a2c8a5a2ca13d7e2', name: "after" })));
20
+ }
21
+ };
22
+
23
+ export { ForjaContact as forja_contact };
@@ -0,0 +1,13 @@
1
+ import { r as registerInstance, h } from './index-WdE4YutY.js';
2
+ import { s as sectionLabel } from './a11y-CTbyYfdB.js';
3
+
4
+ const ForjaCta = class {
5
+ constructor(hostRef) {
6
+ registerInstance(this, hostRef);
7
+ }
8
+ render() {
9
+ return (h("section", { key: '446ccf4f954e159368c7824587d8a5db98a276d2', class: "forja-cta", "aria-label": sectionLabel(this.sectionTitle, 'Call to action') }, h("slot", { key: '3663547f1d3869de3c0295c8db3d2339a64c1f7b', name: "before" }), this.imageUrl && (h("img", { key: '192e4fa7564506794fbd55a77a9fd6f2c202eea7', src: this.imageUrl, alt: this.imageAlt || '', class: "forja-cta__image", loading: "lazy" })), h("div", { key: 'f480a01537524bec5b2dd7faaa973776081c5ed0', class: "forja-cta__content" }, this.sectionTitle && h("h2", { key: '0baa33a4f63ea70a65da02669977b261d6ca9cbe', class: "forja-cta__title" }, this.sectionTitle), this.text && h("div", { key: 'f67e87b654f0cb08f4415aa4ea2b7a39b5e0ca84', class: "forja-cta__text", innerHTML: this.text }), this.buttonText && this.buttonHref && (h("a", { key: 'bb0618dcd3fd6deb8f1ce1446167a9ff5d904f6b', href: this.buttonHref, class: "forja-cta__button" }, this.buttonText))), h("slot", { key: 'ff766293f87f21e4498004243d78c31d31889dfc', name: "after" })));
10
+ }
11
+ };
12
+
13
+ export { ForjaCta as forja_cta };
@@ -0,0 +1,17 @@
1
+ import { r as registerInstance, h } from './index-WdE4YutY.js';
2
+
3
+ const ForjaDivider = class {
4
+ constructor(hostRef) {
5
+ registerInstance(this, hostRef);
6
+ this.dividerStyle = 'line';
7
+ }
8
+ render() {
9
+ const classes = ['forja-divider', `forja-divider--${this.dividerStyle}`].join(' ');
10
+ if (this.label) {
11
+ return (h("div", { class: classes, role: "separator", "aria-label": this.label }, h("span", { class: "forja-divider__label" }, this.label)));
12
+ }
13
+ return h("hr", { class: classes });
14
+ }
15
+ };
16
+
17
+ export { ForjaDivider as forja_divider };
@@ -0,0 +1,14 @@
1
+ import { r as registerInstance, h } from './index-WdE4YutY.js';
2
+ import { s as sectionLabel } from './a11y-CTbyYfdB.js';
3
+
4
+ const ForjaFaq = class {
5
+ constructor(hostRef) {
6
+ registerInstance(this, hostRef);
7
+ }
8
+ render() {
9
+ const hasItems = this.items && this.items.length > 0;
10
+ return (h("section", { key: '94a1ad63276f33116d60bc7e6c00445754a4e7da', class: "forja-faq", "aria-label": sectionLabel(this.sectionTitle, 'Frequently asked questions') }, h("slot", { key: '4b33e56d9cd117bcfc07583a2c58a89d07be50dd', name: "before" }), this.sectionTitle && h("h2", { key: 'c47444fed71889ea5a693d623513328f87e6f16e', class: "forja-faq__title" }, this.sectionTitle), this.text && h("div", { key: 'a7992070168b9f081dbb11689cf4e333fbf75413', class: "forja-faq__text", innerHTML: this.text }), hasItems ? (h("div", { class: "forja-faq__list" }, this.items.map(item => (h("details", { class: "forja-faq__item" }, h("summary", { class: "forja-faq__question" }, item.question), h("div", { class: "forja-faq__answer", innerHTML: item.answer })))))) : (h("div", { class: "forja-faq__list" }, h("slot", null))), h("slot", { key: '77bac4fe776da5ecb301ad5bdb270e1823329f81', name: "after" })));
11
+ }
12
+ };
13
+
14
+ export { ForjaFaq as forja_faq };
@@ -0,0 +1,14 @@
1
+ import { r as registerInstance, h } from './index-WdE4YutY.js';
2
+ import { s as sectionLabel } from './a11y-CTbyYfdB.js';
3
+
4
+ const ForjaFeatures = class {
5
+ constructor(hostRef) {
6
+ registerInstance(this, hostRef);
7
+ }
8
+ render() {
9
+ const hasItems = this.items && this.items.length > 0;
10
+ return (h("section", { key: '01434127526dac604e2542876f04c5ac88768038', class: "forja-features", "aria-label": sectionLabel(this.sectionTitle, 'Features') }, h("slot", { key: 'cfc0d012020d197474abc35118b5c1191575d078', name: "before" }), (this.sectionTitle || this.text) && (h("div", { key: 'a626af8e540db41d255ec2a637bd341686287a86', class: "forja-features__header" }, this.sectionTitle && h("h2", { key: '15bf163f29719490525523ff72f05566277bbcc0', class: "forja-features__title" }, this.sectionTitle), this.text && h("div", { key: 'e9e05b4c08e6beb7ecca32df69daddafe2b53f1a', class: "forja-features__text", innerHTML: this.text }))), hasItems ? (h("ul", { class: "forja-features__grid", role: "list", "data-columns": this.columns }, this.items.map(item => (h("li", { class: "forja-features__item" }, item.icon && h("span", { class: "forja-features__icon", "aria-hidden": "true" }, item.icon), h("h3", { class: "forja-features__item-title" }, item.title), item.text && h("p", { class: "forja-features__item-text" }, item.text)))))) : (h("div", { class: "forja-features__grid", role: "list", "data-columns": this.columns }, h("slot", null))), h("slot", { key: '9521b8a787f3fb6907dd116b568a1da5764342fa', name: "after" })));
11
+ }
12
+ };
13
+
14
+ export { ForjaFeatures as forja_features };