1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9139],{12938:(e,t,r)=>{r.d(t,{A:()=>g});var s=r(37876);r(14232);var i=r(95062),a=r.n(i),l=r(89099),n=r(77731);(0,n.A)("c4d-tabs-extended-media",()=>Promise.all([r.e(4749),r.e(7845),r.e(1886),r.e(7988),r.e(8742),r.e(8635),r.e(4537),r.e(2230)]).then(r.bind(r,2230)));let o=(0,n.A)("c4d-tabs-extended",()=>Promise.all([r.e(1886),r.e(8635),r.e(4537),r.e(6581)]).then(r.bind(r,36581))),c=(0,n.A)("c4d-tab",()=>Promise.all([r.e(1886),r.e(8635),r.e(4537),r.e(6581)]).then(r.bind(r,36581)));var u=r(26198);function g({activeTab:e,tabs:t,preserveBrowserUtm:r=!1}){let i=(0,l.useRouter)();return(0,s.jsx)("div",{className:"sb--learning-catalog-tabs",children:(0,s.jsx)(o,{value:e,type:"contained",children:t.map(t=>(0,s.jsx)(c,{value:t.id,selected:e===t.id,onClick:()=>(e=>{if(r&&1){let t=(0,u.I)(window.location.search),r=(0,u.h)(e,t);i.push(r);return}i.push(e)})(t.href),type:"contained",children:t.label},t.id))})})}g.propTypes={activeTab:a().oneOf(["adult-learners","university","high-school"]),tabs:a().arrayOf(a().shape({id:a().oneOf(["adult-learners","university","high-school"]),href:a().string,label:a().string})),preserveBrowserUtm:a().bool}},18818:(e,t,r)=>{r.d(t,{A:()=>d});var s=r(37876),i=r(77328),a=r.n(i),l=r(95062),n=r.n(l),o=r(89099),c=r(77075);let u="/wp-content/uploads/";function g(e){if(!e)return"";try{let t=new URL(e);if(!("skillsbuild.wpengine.com"===t.hostname&&t.pathname.startsWith(u)))return e;let r=t.pathname.slice(u.length);return`https://skillsbuild.org/api/social-image/${r}`}catch{return e}}function d({pageSEO:e,fallback:t}){let r=(0,o.useRouter)(),i="en"===r.locale?`https://skillsbuild.org${r.asPath}`:`https://skillsbuild.org/${r.locale}${r.asPath}`,l=()=>e?.generalMetadata?.title||t?.generalMetadata?.title,n=()=>e?.generalMetadata?.description||t?.generalMetadata?.description,u=()=>e?.facebookMetadata?.title||l()||t?.facebookMetadata?.title,p=()=>e?.twitterMetadata?.title||l()||t?.twitterMetadata?.title,h=e?.facebookMetadata?.facebookImage?.node?.sourceUrl||t?.facebookMetadata?.facebookImage?.node?.sourceUrl||"",m=e?.twitterMetadata?.twitterImage?.node?.sourceUrl||t?.twitterMetadata?.twitterImage?.node?.sourceUrl||"",f=g(h),b=g(m||h);return(0,s.jsxs)(a(),{children:[(0,s.jsx)("title",{children:l()}),(0,s.jsx)("link",{rel:"canonical",href:i}),(0,s.jsx)("meta",{name:"description",content:n()}),e?.hideFromSearchEngines&&(0,s.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),(0,s.jsx)("meta",{property:"og:title",content:u()},"og:title"),(0,s.jsx)("meta",{property:"og:description",content:e?.facebookMetadata?.description||n()||t?.facebookMetadata?.description},"og:description"),f&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("meta",{property:"og:image",content:f},"og:image"),(0,s.jsx)("meta",{property:"og:image:secure_url",content:f},"og:image:secure_url"),(0,s.jsx)("meta",{property:"og:image:width",content:"1200"},"og:image:width"),(0,s.jsx)("meta",{property:"og:image:height",content:"630"},"og:image:height"),(0,s.jsx)("meta",{property:"og:image:alt",content:u()},"og:image:alt")]}),(0,s.jsx)("meta",{property:"og:url",content:i},"og:url"),(0,s.jsx)("meta",{property:"og:type",content:"website"},"og:type"),(0,s.jsx)("meta",{property:"og:site_name",content:c.yy},"og:site_name"),(0,s.jsx)("meta",{name:"twitter:card",content:"summary_large_image"},"twitter:card"),(0,s.jsx)("meta",{name:"twitter:title",content:p()},"twitter:title"),(0,s.jsx)("meta",{name:"twitter:description",content:e?.twitterMetadata?.description||n()||t?.twitterMetadata?.description},"twitter:description"),b&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("meta",{name:"twitter:image",content:b},"twitter:image"),(0,s.jsx)("meta",{name:"twitter:image:alt",content:p()},"twitter:image:alt")]})]})}let p=n().shape({node:n().shape({altText:n().string,sourceUrl:n().string,srcSet:n().string,sizes:n().string})}),h=n().shape({title:n().string,description:n().string,facebookImage:p}),m=n().shape({title:n().string,description:n().string,twitterImage:p,cardType:n().string}),f=n().shape({generalMetadata:n().shape({title:n().string,description:n().string,addSpecificKeywords:n().bool,keywords:n().string}),hideFromSearchEngines:n().bool,addFacebookMetadata:n().bool,facebookMetadata:h,addTwitterMetadata:n().bool,twitterMetadata:m});d.propTypes={pageSEO:f,fallback:f}},67407:(e,t,r)=>{r.d(t,{A:()=>T});var s=r(37876),i=r(14232),a=r(89099),l=r(95062),n=r.n(l),o=r(65454),c=r(85559);function u({filterGroupFields:e,selectedByGroup:t={},onToggleOption:r,onClearAll:a}){let l=(0,i.useRef)(null),{filterGroupFieldsTitle:n,filterGroupFieldsItems:o=[],filterGroupFieldsViewAllText:g}=e||{},d=(0,i.useMemo)(()=>[...new Set(Object.values(t).flatMap(e=>
1Array.isArray(e)?e:[]).filter(Boolean))],[t]);return(0,i.useEffect)(()=>{let e=l.current;if(!e)return;let t=window.requestAnimationFrame(()=>{let t=e.querySelector("c4d-filter-panel-composite");if(!t)return;let r=d.length,s=r>0,i=s?`${n} (${r})`:n;t._selectedValues=d,"function"==typeof t.requestUpdate&&t.requestUpdate();let a=()=>{[t.shadowRoot?.querySelector("c4d-filter-panel"),t.shadowRoot?.querySelector("c4d-filter-panel-modal")].filter(Boolean).forEach(e=>{e.heading=i,e.hasSelections=s,s?e.setAttribute("has-selections",""):e.removeAttribute("has-selections"),"function"==typeof e.requestUpdate&&e.requestUpdate()})};t.updateComplete&&"function"==typeof t.updateComplete.then?t.updateComplete.then(a):setTimeout(a,0)});return()=>{window.cancelAnimationFrame(t)}},[d,n]),(0,s.jsx)("div",{ref:l,className:"sb--course-catalog__filter-wrapper",children:(0,s.jsxs)(c.lK,{onSelectionClear:a,children:[(0,s.jsx)(c.ig,{slot:"heading",children:n},`course-catalog-filter-panel-heading-${n}`),(0,s.jsx)(c.x5,{children:o.map((e,i)=>{let a=e?.itemTitle?.value,l=e?.itemTitle?.label;return(0,s.jsx)(c.mI,{title:l,viewAllText:g,maxFilters:5,filterCutoff:3,open:!0,children:e.itemList&&e.itemList.map((e,i)=>{let l=e.value,n=(t[a]||[]).includes(l),o=`ccf__${String(a).replace(/[^a-zA-Z0-9_-]/g,"_")}__${String(l).replace(/[^a-zA-Z0-9_-]/g,"_")}`;return(0,s.jsx)("div",{children:(0,s.jsx)(c.fi,{id:o,"data-group":a,"data-value":l,name:e.label,value:l,"aria-label":e.label,checked:n,onChange:e=>r(a,l,"boolean"==typeof e?.detail?.checked?e.detail.checked:"boolean"==typeof e?.target?.checked&&e.target.checked),children:e.label})},`${e.label}-${i}`)})},`course-catalog-filter-panel-item-${i}`)})})]})})}u.propTypes={filterGroupFields:n().shape({filterGroupFieldsTitle:n().string,filterGroupFieldsItems:n().arrayOf(n().shape({itemTitle:n().shape({label:n().string,value:n().string}),itemList:n().arrayOf(n().shape({label:n().string,value:n().string}))})),filterGroupFieldsViewAllText:n().string}),selectedByGroup:n().objectOf(n().arrayOf(n().string)),onToggleOption:n().func,onClearAll:n().func};var g=r(58779),d=r(89622);function p({items:e,optionLabelByGroup:t,showingCourses:r,pageSlug:i,preserveBrowserQuery:a=!1}){if(!e||0===e.length)return(0,s.jsx)("div",{className:"sb--course-catalog__cards-wrapper",children:r?(0,s.jsx)("p",{children:r.noResults}):null});let l={Foundational:"SkillLevelBasic32",Intermediate:"SkillLevelIntermediate32",Advanced:"SkillLevelAdvanced32"};return(0,s.jsxs)("div",{className:"sb--course-catalog__cards-wrapper",children:[r&&(0,s.jsxs)("p",{children:[r.showingText," ",e.length," ",r.coursesText]}),(0,s.jsx)(o.Grid,{className:"sb--grid__cards",children:e.map((e,r)=>{var n,c;let u,p,h,m,f=(0,d.H)(e.description),b=((e=[])=>{if(!Array.isArray(e))return;let t=e.filter(Boolean).slice(0,2);if(t.length)return t.map(e=>({cardTagLabel:e,cardTagColor:"warm-gray"}))})(e.skillstags),y=(n=e,c=t,u=[],p=c?.duration?.[n.duration]||n.duration,h=String(n?.level||"").trim(),m=c?.level?.[h]||h,p&&u.push({icon:"Time32",label:p}),m&&u.push({icon:l[String(h||"").trim()]||"SkillLevelIntermediate32",label:m}),u.length?u:void 0);return(0,s.jsx)(o.Column,{max:4,xlg:4,lg:4,md:4,sm:4,children:(0,s.jsx)(g.A,{id:`${i}__filtered-card--${r}`,heading:e.title,bodyCopy:f,href:e.url,image:null,imageWebp:null,isExternal:!0,stripGa:!0,theme:"gray",headingTag:"h3",tags:b,metadata:y,digitalCredential:e.digitalCredential,digitalCredentialTag:{type:"blue",size:"md",iconName:"Badge",iconSize:24,title:"Digital credential",className:"sb--card__credential-tag"},iconPositionClasses:"ml-auto",preserveBrowserQuery:a})},`${i}__filtered-card-${r}`)})})]})}p.propTypes={items:n().arrayOf(n().shape({title:n().string,description:n().string,url:n().string,lmsId:n().string,duration:n().string,languages:n().arrayOf(n().string),topic:n().arrayOf(n().string),industry:n().arrayOf(n().string),level:n().string,skillstags:n().arrayOf(n().string),digitalCredential:n().bool})),optionLabelByGroup:n().objectOf(n().objectOf(n().string)),showingCourses:n().shape({showingText:n().string,coursesText:n().string,noResults:n().string}),pageSlug:n().string,preserveBrowserQuery:n().bool},p.defaultProps={items:[],optionLabelByGroup:void 0,showingCourses:void 0};let h=e=>String(e||"").toLowerCase().trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"");function m({filterSearch:e,value:t,onChange:r,onClear:a,suggestions:l}){let n=(0,i.useRef)(null),[c,u]=(0,i.useState)(!1),g=(0,i.useMemo)(()=>h(t)?(l||[]).slice(0,10):[],[l,t]),d=c&&g.length>0;return(0,i.useEffect)(()=>{let e=e=>{let t=n.current;t&&(t.contains(e.target)||u(!1))},t=e=>{"Escape"===e.key&&u(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[]),(0,s.jsxs)("div",{ref:n,className:"sb--course-catalog__search",children:[(0,s.jsx)(o.Search,{id:"course-catalog-search-bar",size:"lg",type:"search",autoComplete:"off",labelText:e?.labelText||"Search",placeholder:e?.placeholder||"Search",value:t,onChange:e=>{r(e.target.value),c||u(!0)},onFocus:()=>u(!0),onClear:()=>{a?.(),u(!1)}}),(0,s.jsx)("div",{className:`sb--course-catalog__search-suggestions ${d?"is-open":""}`,children:d&&(0,s.jsx)("ul",{className:"sb--course-catalog__search-suggestions-list",children:g.map((e,i)=>{let a=e?.title||"";return(0,s.jsx)("li",{className:"sb--course-catalog__search-suggestion",onMouseDown:e=>{e.preventDefault(),r(a),u(!1)},children:function(e,t){let r=String(e||""),i=h(t).split(/\s+/).filter(
1Boolean);if(!r||0===i.length)return r;let{folded:a,map:l,src:n}=function(e){let t=String(e||""),r=[],s="";for(let e=0;e<t.length;e++){let i=t[e].normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase();for(let t=0;t<i.length;t++)s+=i[t],r.push(e)}return{folded:s,map:r,src:t}}(r),o=[];if(i.forEach(e=>{let t=0;for(;;){let r=a.indexOf(e,t);if(-1===r)break;let s=r+e.length,i=l[r],n=l[s-1]+1;o.push([i,n]),t=s}}),0===o.length)return r;o.sort((e,t)=>e[0]-t[0]);let c=[];for(let e of o)!c.length||e[0]>c[c.length-1][1]?c.push(e):c[c.length-1][1]=Math.max(c[c.length-1][1],e[1]);let u=[],g=0;return c.forEach(([e,t],r)=>{e>g&&u.push((0,s.jsx)("span",{children:n.slice(g,e)},`t-${r}-a`)),u.push((0,s.jsx)("strong",{className:"sb--search-highlight",children:n.slice(e,t)},`t-${r}-b`)),g=t}),g<n.length&&u.push((0,s.jsx)("span",{children:n.slice(g)},"t-end")),(0,s.jsx)(s.Fragment,{children:u})}(a,t)},e?.lmsId||e?.url||`${a}-${i}`)})})})]})}m.propTypes={filterSearch:n().shape({labelText:n().string,placeholder:n().string,closeButtonLabelText:n().string}),value:n().string,onChange:n().func,onClear:n().func,suggestions:n().arrayOf(n().shape({title:n().string,lmsId:n().oneOfType([n().string,n().number]),url:n().string}))},m.defaultProps={filterSearch:void 0,onClear:void 0,suggestions:[]};var f=r(94749),b=r(17058);function y({heading:e,id:t,category:r,sectionId:a,initialRowsVisible:l,sectionButtons:n,catalog:c,optionLabelByGroup:u,pageSlug:g,preserveBrowserQuery:d=!1}){let h=(0,i.useMemo)(()=>Array.isArray(c)&&r&&a&&["topic","industry","level"].includes(r)?c.filter(e=>{var t,s;return t=e?.[r],0===(s=[a]).length||(Array.isArray(t)?s.some(e=>t.includes(e)):s.includes(t))}):[],[c,r,a]),m=(0,i.useMemo)(()=>{let e=Number(l);return Number.isFinite(e)&&e>0?Math.floor(e):1},[l]),w=(0,i.useMemo)(()=>Math.ceil(h.length/3),[h.length]),[v,x]=(0,i.useState)(m);(0,i.useEffect)(()=>{x(m)},[m]);let j=v>m,S=v>=w&&w>0,_=v<w,T=w>m,A=(0,i.useMemo)(()=>{let e=3*v;return h.slice(0,e)},[h,v]);if(!A||0===A.length)return null;let L=!!n?.showAllEnable,C=n?.showMoreLabel||"Show more",M=n?.showLessLabel||"Show less",$=n?.showAllLabel||"Show all",k=(e,t="tertiary")=>{let r=String(e||"").toLowerCase();return["primary","secondary","tertiary","ghost","danger"].includes(r)?r:t},B=k(n?.showMoreKind,"tertiary"),O=k(n?.showLessKind,"tertiary"),E=k(n?.showAllKind,"primary"),N=()=>x(m);return(0,s.jsxs)("div",{className:"sb--course-catalog__main-page-section","aria-labelledby":t,children:[(0,s.jsx)("h2",{id:t,children:e}),(0,s.jsx)(p,{pageSlug:g,items:A,optionLabelByGroup:u,preserveBrowserQuery:d}),T&&(0,s.jsx)("div",{className:"sb--course-catalog__section-actions",children:L?(0,s.jsxs)(s.Fragment,{children:[!S&&(0,s.jsx)(o.Button,{kind:E,renderIcon:f.OM,iconDescription:$,onClick:()=>x(w),className:"sb--course-catalog__section-action",children:$}),j&&(0,s.jsx)(o.Button,{kind:O,renderIcon:b.NA,iconDescription:M,onClick:N,className:"sb--course-catalog__section-action",children:M})]}):(0,s.jsxs)(s.Fragment,{children:[_&&(0,s.jsx)(o.Button,{kind:B,renderIcon:f.OM,iconDescription:C,onClick:()=>x(e=>Math.min(w,e+1)),className:"sb--course-catalog__section-action",children:C}),j&&(0,s.jsx)(o.Button,{kind:O,renderIcon:b.NA,iconDescription:M,onClick:N,className:"sb--course-catalog__section-action",children:M})]})})]})}function w({sectionTitles:e,pageSlug:t,locale:r,catalog:a,optionLabelByGroup:l,showingCourses:n,preserveBrowserQuery:o=!1}){let c=(0,i.useMemo)(()=>new Set(["topic","industry","level"]),[]),u=(0,i.useMemo)(()=>Array.isArray(e)?e.filter(e=>e?.sectionCategory&&c.has(e.sectionCategory)).filter(e=>!!e?.sectionId&&!!e?.sectionTitle):[],[e,c]);return 0===u.length?null:(0,s.jsx)("div",{className:"sb--course-catalog__main-page",children:u.map((e,i)=>(0,s.jsx)(y,{heading:e.sectionTitle,id:`${t}-${e.sectionId}`,category:e.sectionCategory,sectionId:e.sectionId,initialRowsVisible:e.initialRowsVisible,sectionButtons:e.sectionButtons,catalog:a,optionLabelByGroup:l,showingCourses:n,pageSlug:t,locale:r,preserveBrowserQuery:o},`${t}-${e.sectionId}-${i}`))})}y.propTypes={heading:n().string,id:n().string,category:n().oneOf(["topic","industry","level"]),sectionId:n().string,initialRowsVisible:n().oneOfType([n().number,n().string]),sectionButtons:n().shape({showAllEnable:n().bool,showMoreLabel:n().string,
1showMoreKind:n().string,showLessLabel:n().string,showLessKind:n().string,showAllLabel:n().string,showAllKind:n().string}),catalog:n().arrayOf(n().shape({topic:n().arrayOf(n().string),industry:n().arrayOf(n().string),level:n().string,title:n().string,description:n().string,url:n().string,duration:n().string,digitalCredential:n().bool})),optionLabelByGroup:n().objectOf(n().objectOf(n().string)),pageSlug:n().string,preserveBrowserQuery:n().bool},y.defaultProps={initialRowsVisible:1,sectionButtons:void 0,catalog:[],optionLabelByGroup:void 0},w.propTypes={sectionTitles:n().arrayOf(n().shape({sectionCategory:n().string,sectionId:n().string,sectionTitle:n().string,initialRowsVisible:n().oneOfType([n().number,n().string]),sectionButtons:n().shape({showMoreLabel:n().string,showMoreKind:n().string,showLessLabel:n().string,showLessKind:n().string,showAllLabel:n().string,showAllKind:n().string,showAllEnable:n().bool})})),pageSlug:n().string,locale:n().string,catalog:n().array,optionLabelByGroup:n().objectOf(n().objectOf(n().string)),showingCourses:n().shape({showingText:n().string,coursesText:n().string,noResults:n().string,preserveBrowserQuery:n().bool})},w.defaultProps={sectionTitles:[],locale:void 0,catalog:[],optionLabelByGroup:void 0,showingCourses:void 0};let v=e=>String(e||"").toLowerCase().slice(0,2),x=(e,t,r)=>{if(!t||0===t.length)return!0;if("languages"===r){let r=Array.isArray(e)?e:[],s=new Set(t.map(v));return r.some(e=>s.has(v(e)))}return Array.isArray(e)?t.some(t=>e.includes(t)):t.includes(e)},j=e=>{let t=String(e||"").indexOf("?");return new URLSearchParams(t>=0?e.slice(t+1):"")},S=e=>String(e||"").split("?")[0]||"",_=(e,t,r,s)=>{let i=new URLSearchParams;for(let[r,s]of e.entries())if(!t.includes(r)){if("q"===r){s&&i.set("q",s);continue}s&&i.append(r,s)}return t.forEach(e=>{let t=s?.[e]||[];Array.isArray(t)&&0!==t.length&&("single"===(r[e]||"multi")?i.append(e,String(t[0])):t.forEach(t=>{null!=t&&String(t).length&&i.append(e,String(t))}))}),i};function T({filterGroupFields:e,filterSearch:t,sectionTitles:r,pageSlug:l,locale:n,catalogAudience:c="adult-learner"}){let g=(0,a.useRouter)(),d=(0,i.useRef)(!1),f=(0,i.useRef)(!1),b=(0,i.useRef)(!1),{filterGroupFieldsItems:y=[],filterGroupFieldsShowingCourses:v}=e||{},A=(0,i.useMemo)(()=>{let e={};return(y||[]).forEach(t=>{let r=t?.itemTitle?.value;r&&(e[r]=e[r]||{},(t?.itemList||[]).forEach(t=>{t?.value&&(e[r][t.value]=t.label)}))}),e},[y]),[L,C]=(0,i.useState)([]),[M,$]=(0,i.useState)(!1),[k,B]=(0,i.useState)([]),[O,E]=(0,i.useState)(""),[N,G]=(0,i.useState)({}),I=(0,i.useMemo)(()=>{let e={};return(y||[]).forEach(t=>{let r=t?.itemTitle?.value,s=t?.itemTitle?.selectionType,i=Array.isArray(s)&&"string"==typeof s[0]?s[0].toLowerCase():"multi";r&&(e[r]=i)}),e},[y]),F=(0,i.useMemo)(()=>Array.isArray(y)&&M&&Array.isArray(L)&&0!==L.length?y.map(e=>{let t=e?.itemTitle?.value;if(!t)return null;let r=(e?.itemList||[]).filter(e=>{let r=e?.value;return!!r&&(L||[]).some(e=>x(e?.[t],[r],t))});return 0===r.length?null:{...e,itemList:r}}).filter(Boolean):[],[y,L,M]),R=(0,i.useMemo)(()=>(F||[]).map(e=>e?.itemTitle?.value).filter(e=>"string"==typeof e&&e.length>0),[F]),P=(0,i.useMemo)(()=>{let e={};return(F||[]).forEach(t=>{let r=t?.itemTitle?.value;r&&(e[r]=new Set((t?.itemList||[]).map(e=>e?.value).filter(Boolean).map(String)))}),e},[F]),U=(e,t,r)=>{let s=I[e]||"multi";G(i=>{let a,l=i[e]||[];return a="single"===s?r?[t]:[]:r?[...new Set([...l,t])]:l.filter(e=>e!==t),{...i,[e]:a}});let i=`${e}:${t}`;B(e=>r?[...e.filter(e=>e!==i),i]:e.filter(e=>e!==i))},K=(0,i.useMemo)(()=>Object.values(N).some(e=>Array.isArray(e)&&e.length>0),[N]),q=(0,i.useMemo)(()=>k.map(e=>{let[t,...r]=e.split(":"),s=r.join(":"),i=A?.[t]?.[s]||s;return{groupKey:t,value:s,label:i,type:"blue"}}).filter(e=>(N[e.groupKey]||[]).includes(e.value)),[k,A,N]);(0,i.useEffect)(()=>{let e=!1;return async function(){try{$(!1);let t=String(n||"en-us").toLowerCase(),r=c||"adult-learner",s=await fetch(`/api/learning-catalog?audience=${encodeURIComponent(r)}&lang=${encodeURIComponent(t)}`,{method:"GET",headers:{Accept:"application/json"},cache:"no-store"});if(!s.ok)throw Error(`Catalog fetch failed: ${s.status} ${s.statusText}`);let i=await s.json(),a=Array.isArray(i)?i:i?.items??[];e||(C(a),$(!0))}catch(t){console.error("Catalog fetch failed",t),e||(C([]),$(!1))}}(),()=>{e=!0}},[n,c]);let z=(0,i.useMemo)(()=>h(O).length>0,[O]),D=(0,i.useMemo)(()=>K||z,[K,z]),V=(0,i.useMemo)(()=>(L||[]).map(e=>({...e,__titleNorm:h(e?.title)})),[L]),Q=(0,i.useMemo)(()=>
1{if(!z)return V;let e=h(O),t=e.split(/\s+/).filter(Boolean),r=V.filter(e=>{let r=e.__titleNorm||"";return t.every(e=>r.includes(e))}),s=[],i=[];return r.forEach(t=>{(t.__titleNorm||"").startsWith(e)?s.push(t):i.push(t)}),[...s,...i]},[V,O,z]),Z=(0,i.useMemo)(()=>D?Q.filter(e=>Object.entries(N).every(([t,r])=>!r||0===r.length||x(e?.[t],r,t))):[],[D,Q,N]),{isReady:W,asPath:H,replace:J}=g;(0,i.useEffect)(()=>{if(!W||!R.length||!L?.length)return;let e=j(H),t=e.toString(),{selectedByGroup:r,chipOrder:s}=((e,t,r,s)=>{let i={},a=[];for(let[l,n]of(t.forEach(e=>{i[e]=[]}),e.entries())){if(!t.includes(l))continue;let e=String(n||"");if(!e)continue;let o=s?.[l];(!o||!(o.size>0)||o.has(e))&&("single"===(r[l]||"multi")?0===i[l].length&&(i[l]=[e],a.push(`${l}:${e}`)):i[l].includes(e)||(i[l].push(e),a.push(`${l}:${e}`)))}return{selectedByGroup:i,chipOrder:a}})(e,R,I,P),i=e.get("q")||"";f.current=!0,G(r),B(s),E(i),d.current=!0;let a=_(e,R,I,r).toString();if(a!==t){let e=S(H),t=a?`${e}?${a}`:e;H!==t&&J(t,void 0,{shallow:!0,scroll:!1})}let l=setTimeout(()=>{f.current=!1},0);return()=>clearTimeout(l)},[W,H,J,R,I,P,L]),(0,i.useEffect)(()=>{if(!d.current)return;let e=()=>{let e=new URLSearchParams(window.location.search||"").get("q")||"";f.current=!0,E(e);let t=setTimeout(()=>{f.current=!1},0);return()=>clearTimeout(t)};return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[]),(0,i.useEffect)(()=>{if(!g.isReady||!d.current||f.current)return;let e={pathname:window.location.pathname,search:window.location.search||""},t=e?.pathname||S(g.asPath),r=e?new URLSearchParams(e.search):j(g.asPath),s=_(r,R,I,N).toString(),i=s?`${t}?${s}`:t,a=r.toString();i!==(a?`${t}?${a}`:t)&&(b.current=!0,g.replace(i,void 0,{shallow:!0,scroll:!1}))},[g.isReady,g,g.asPath,R,I,N]),(0,i.useEffect)(()=>{if(!d.current||f.current)return;let e=setTimeout(()=>{let e,t,{pathname:r,search:s}=window.location,i=new URLSearchParams(s||""),a=(e=new URLSearchParams(i),(t=String(O||"").trim())?e.set("q",t):e.delete("q"),e).toString(),l=a?`${r}?${a}`:r,n=i.toString();l!==(n?`${r}?${n}`:r)&&window.history.replaceState(null,"",l)},300);return()=>clearTimeout(e)},[O]);let X=M&&F.length>0,Y=["adult-learner","university","high-school"].includes(c);return(0,s.jsx)("div",{className:"sb--course-catalog-layout__wrapper",children:(0,s.jsxs)(o.Grid,{children:[(0,s.jsx)(o.Column,{max:{span:3,end:4},xlg:{span:3,end:4},lg:8,md:8,sm:4,className:"mx-0",children:(0,s.jsx)("div",{className:"sb--course-catalog__filter-wrapper",children:X&&(0,s.jsx)(u,{filterGroupFields:{...e,filterGroupFieldsItems:F},selectedByGroup:N,onToggleOption:U,onClearAll:()=>{G({}),B([])}})})}),(0,s.jsxs)(o.Column,{max:{span:12,start:5},xlg:{span:12,start:5},lg:8,md:8,sm:4,children:[(0,s.jsx)("div",{className:"sb--searchbar__wrapper",children:(0,s.jsx)(m,{filterSearch:t,value:O,onChange:E,onClear:()=>E(""),suggestions:Q})}),q.length>0&&(0,s.jsx)("div",{className:"sb--course-catalog__active-filters",children:q.map(e=>(0,s.jsx)(o.DismissibleTag,{size:"lg",type:e.type,text:e.label,tagTitle:e.label,title:`Clear filter - ${e.label}`,onClose:()=>{var t,r;let s,i;return t=e.groupKey,r=e.value,s=`ccf__${String(t).replace(/[^a-zA-Z0-9_-]/g,"_")}__${String(r).replace(/[^a-zA-Z0-9_-]/g,"_")}`,void(!(i=document.getElementById(s))?U(t,r,!1):(i.checked=!1,i.dispatchEvent(new CustomEvent("c4d-checkbox-select",{detail:{value:r},bubbles:!0,composed:!0}))))},className:"sb--base-tags"},`${e.groupKey}:${e.value}`))}),D?(0,s.jsx)(p,{pageSlug:l,items:Z,optionLabelByGroup:A,showingCourses:v,preserveBrowserQuery:Y}):(0,s.jsx)(w,{sectionTitles:r,pageSlug:l,locale:n,catalog:L,optionLabelByGroup:A,showingCourses:v,preserveBrowserQuery:Y})]})]})})}T.propTypes={filterGroupFields:n().shape({filterGroupFieldsItems:n().arrayOf(n().shape({itemTitle:n().shape({label:n().string,value:n().string,selectionType:n().arrayOf(n().string)}),itemList:n().arrayOf(n().shape({label:n().string,value:n().string}))})),filterGroupFieldsShowingCourses:n().shape({showingText:n().string,coursesText:n().string,noResults:n().string}),filterGroupFieldsTitle:n().string,filterGroupFieldsViewAllText:n().string}),filterSearch:n().shape({placeholder:n().string,ariaLabel:n().string,labelText:n().string,closeButtonLabelText:n().string}),sectionTitles:n().arrayOf(n().shape({sectionCategory:n().string,
1sectionId:n().string,sectionTitle:n().string,initialRowsVisible:n().oneOfType([n().number,n().string]),sectionButtons:n().shape({showMoreLabel:n().string,showMoreKind:n().string,showLessLabel:n().string,showLessKind:n().string,showAllLabel:n().string,showAllKind:n().string,showAllEnable:n().bool})})),pageSlug:n().string,locale:n().string,catalogAudience:n().oneOf(["adult-learner","university","high-school"])},T.defaultProps={filterSearch:void 0,sectionTitles:[],locale:"en-us",catalogAudience:"adult-learner"}},89622:(e,t,r)=>{r.d(t,{H:()=>s});let s=(e="")=>{let t=String(e||"");return((t.match(/<p\b[^>]*>[\s\S]*?<\/p>/gi)||[]).find(e=>e.replace(/<a\b[^>]*>/gi,"").replace(/<\/a>/gi,"").replace(/<br\s*\/?>/gi," ").replace(/<[^>]+>/g,"").replace(/ | |\u00a0/gi," ").replace(/\s+/g," ").trim().length>0)||t).replace(/<a\b[^>]*>/gi,"").replace(/<\/a>/gi,"").replace(/<br\s*\/?>/gi," ").replace(/<[^>]+>/g,"").replace(/ | |\u00a0/gi," ").replace(/\s+/g," ").trim()}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.