{"version":3,"file":"RelatedServices-2iHVbhxU.js","names":["ScrollRevealHeading","DevelopmentContent","marketingHref","Button","Typography","useState","CSSProperties","ConsultationLink","otherServices","title","line","body","href","RelatedServices","t0","$","_c","related","t1","Array","isArray","services","active","setActive","t2","Symbol","for","t3","t4","t5","t6","service","index","event","pointerType","window","matchMedia","matches","map","t7","t8","length","label","index_0","target","disabled","t9"],"sources":["../../src/components/features/povio/services/RelatedServices.tsx"],"sourcesContent":["import { ScrollRevealHeading } from \"../ScrollRevealHeading\";\nimport type { DevelopmentContent } from \"./developmentContent\";\nimport { marketingHref } from \"../marketingHref\";\nimport { Button, Typography } from \"@povio/ui\";\nimport { useState, type CSSProperties } from \"react\";\nimport { ConsultationLink } from \"../collaboration/ConsultationLink\";\n\nconst otherServices = [\n  {\n    title: \"UX/UI\",\n    line: \"Design\",\n    body: \"Thoughtful experiences and polished interfaces that guide users effortlessly and keep them engaged.\",\n    href: \"/services/design\",\n  },\n  {\n    title: \"Vibe\",\n    line: \"Coding\",\n    body: \"Build faster with AI-generated code guided by feedback and testing—ideal for rapid prototyping, not careless shipping.\",\n    href: \"/vibe-coding\",\n  },\n  {\n    title: \"DevOps\",\n    body: \"Streamlined development and deployment processes that keep your software fast, stable, and always up to date.\",\n    href: \"/services/devops\",\n  },\n  {\n    title: \"iOS\",\n    line: \"Development\",\n    body: \"We craft smooth, consistent iOS apps that make the most of Apple’s ecosystem.\",\n    href: \"/services/mobile-apps\",\n  },\n];\n\nexport function RelatedServices({\n  related,\n}: {\n  related: DevelopmentContent[\"related\"] | DevelopmentContent[\"related\"][];\n}) {\n  const services = Array.isArray(related) ? related : [related, ...otherServices];\n  const [active, setActive] = useState(0);\n  return (\n    <section\n      className=\"related_wrap\"\n      data-track-section=\"related_services\"\n    >\n      <div className=\"related_contain\">\n        <div className=\"related_layout\">\n          <div className=\"related_head\">\n            <ScrollRevealHeading\n              title=\"Related\"\n              accent=\"Services\"\n            />\n            <Typography\n              as=\"p\"\n              size=\"body\"\n              className=\"main_paragraph\"\n            >\n              Explore the full range of services we offer and discover how we can support your needs.\n            </Typography>\n          </div>\n          <div className=\"related_component\">\n            <div\n              className=\"related_track\"\n              style={{ \"--active-service\": active } as CSSProperties}\n            >\n              {services.map((service, index) => (\n                <article\n                  key={service.title}\n                  className={index === active ? \"related_card is-active\" : \"related_card\"}\n                  onPointerEnter={(event) => {\n                    if (event.pointerType === \"mouse\" && window.matchMedia(\"(min-width:992px)\").matches) {\n                      setActive(index);\n                    }\n                  }}\n                >\n                  <Typography\n                    as=\"h3\"\n                    size=\"h3\"\n                    className=\"related_title\"\n                  >\n                    <Button\n                      size=\"none\"\n                      variant=\"ghost\"\n                      className=\"related_select\"\n                      aria-controls={`related-body-${index}`}\n                      aria-expanded={active === index}\n                      onPress={() => setActive(index)}\n                    >\n                      {service.title}\n                      {service.line && (\n                        <>\n                          <br />\n                          {service.line}\n                        </>\n                      )}\n                    </Button>\n                  </Typography>\n                  <div\n                    className=\"related_body\"\n                    id={`related-body-${index}`}\n                    inert={active !== index}\n                  >\n                    <Typography\n                      as=\"p\"\n                      size=\"body\"\n                      className=\"related_body_text\"\n                    >\n                      {service.body}\n                    </Typography>\n                    <ConsultationLink\n                      href={marketingHref(service.href)}\n                      external={false}\n                      label=\"Learn More\"\n                    />\n                  </div>\n                </article>\n              ))}\n            </div>\n          </div>\n          <div className=\"related_controls\">\n            {[\"Previous\", \"Next\"].map((label, index) => {\n              const target = active + (index === 0 ? -1 : 1);\n              const disabled = target < 0 || target >= services.length;\n              return (\n                <Button\n                  key={label}\n                  size=\"none\"\n                  variant=\"ghost\"\n                  className={disabled ? \"testimonial_slider_button is-disabled\" : \"testimonial_slider_button\"}\n                  isDisabled={disabled}\n                  aria-label={`${label} service`}\n                  onPress={() => setActive(target)}\n                >\n                  <svg\n                    className=\"testimonial_slider_icon\"\n                    viewBox=\"0 0 24 24\"\n                    fill=\"currentColor\"\n                    aria-hidden=\"true\"\n                  >\n                    <path\n                      d={\n                        index === 0\n                          ? \"M10.5753 17.7615C10.2572 18.0796 9.74137 18.0794 9.42317 17.7615L4.23775 12.5761C3.91956 12.2579 3.91956 11.7421 4.23775 11.4239L9.42317 6.23852C9.74138 5.92057 10.2572 5.92041 10.5753 6.23852C10.8934 6.55663 10.8932 7.07245 10.5753 7.39066L6.78073 11.1852L19.6462 11.1852C20.0962 11.1852 20.461 11.55 20.461 12C20.461 12.45 20.0962 12.8148 19.6462 12.8148L6.78073 12.8148L10.5753 16.6093C10.8932 16.9275 10.8934 17.4434 10.5753 17.7615Z\"\n                          : \"M13.8856 6.23852C14.2037 5.92041 14.7196 5.92057 15.0378 6.23852L20.2232 11.4239C20.5414 11.7421 20.5414 12.2579 20.2232 12.5761L15.0378 17.7615C14.7196 18.0794 14.2037 18.0796 13.8856 17.7615C13.5675 17.4434 13.5677 16.9276 13.8856 16.6093L17.6802 12.8148L4.81476 12.8148C4.36477 12.8148 3.99999 12.45 3.99999 12C3.99999 11.55 4.36477 11.1852 4.81476 11.1852L17.6802 11.1852L13.8856 7.39066C13.5677 7.07245 13.5675 6.55663 13.8856 6.23852Z\"\n                      }\n                    />\n                  </svg>\n                </Button>\n              );\n            })}\n          </div>\n        </div>\n      </div>\n    </section>\n  );\n}\n"],"mappings":"uaAOMQ,EAAgB,CACpB,CACEC,MAAO,QACPC,KAAM,SACNC,KAAM,sGACNC,KAAM,kBACR,EACA,CACEH,MAAO,OACPC,KAAM,SACNC,KAAM,yHACNC,KAAM,cACR,EACA,CACEH,MAAO,SACPE,KAAM,gHACNC,KAAM,kBACR,EACA,CACEH,MAAO,MACPC,KAAM,cACNC,KAAM,gFACNC,KAAM,uBACR,CAAC,EAGH,SAAOC,EAAAC,EAAA,CAAA,IAAAC,GAAAA,EAAAC,EAAAA,EAAAA,CAAA,EAAA,EAAyB,CAAAC,WAAAH,EAI/BI,EAAAH,EAAA,KAAAE,EACgFC,EAAAH,EAAA,IAA9DG,EAAAC,MAAKC,QAASH,CAA+C,EAA7DA,EAAA,CAAoCA,EAAO,GAAKT,CAAa,EAACO,EAAA,GAAAE,EAAAF,EAAA,GAAAG,GAA/E,IAAAG,EAAiBH,EACjB,CAAAI,EAAAC,IAAAA,EAA4BlB,EAAAA,SAAAA,CAAS,CAAC,EAAEmB,EAAAT,EAAA,KAAAU,OAAAC,IAAA,2BAAA,GAQhCF,GAAA,EAAA,EAAA,KAAA,CAAA,MAAA,CAAe,UAAA,eAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACQ,MAAA,UACC,OAAA,UAAU,CAAA,GAEnB,EAAA,EAAA,IAAA,CAAC,EAAD,CACK,GAAA,IACE,KAAA,OACK,UAAA,iBACX,SAAA,yFAJU,CAAA,CAOP,IAAAT,EAAA,GAAAS,GAAAA,EAAAT,EAAA,GAAA,IAAAY,EAAAZ,EAAA,KAAAO,EAImCK,EAAAZ,EAAA,IAA9BY,EAAA,CAAA,mBAAsBL,CAAO,EAACP,EAAA,GAAAO,EAAAP,EAAA,GAAAY,GAA9B,IAAAC,EAAAD,EAA+CE,EAAA,GAAAd,EAAA,KAAAO,GAAAP,EAAA,KAAAM,EAAA,CAAA,IAAAS,EAAAf,EAAA,KAAAO,EAqDrDQ,EAAAf,EAAA,IAnDae,GAAAC,EAAAC,KACZ,EAAA,EAAA,KAAA,CAAA,UAAA,CAEa,UAAAA,IAAUV,EAAV,yBAAA,eACK,eAAAW,GAAA,CACVA,EAAKC,cAAiB,SAAWC,OAAMC,WAAY,mBAAmB,CAAC,CAAAC,SACzEd,EAAUS,CAAK,CAChB,EANL,SAAA,EASE,EAAA,EAAA,IAAA,CAAC,EAAD,CACK,GAAA,KACE,KAAA,KACK,UAAA,gBAEV,UAAA,EAAA,EAAA,KAAA,CAAC,EAAD,CACO,KAAA,OACG,QAAA,QACE,UAAA,iBACK,gBAAA,gBAAgBA,IAChB,gBAAAV,IAAWU,EACjB,YAAMT,EAAUS,CAAK,EANhC,SAAA,CAQGD,EAAOtB,MACPsB,EAAOrB,OAAP,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EAEG,EAAA,EAAA,IAAA,CAAA,KAAA,CAAM,CAAA,EACLqB,EAAOrB,IAAK,CAAA,CAAA,CAZZ,GALE,CAAA,GAsBX,EAAA,EAAA,KAAA,CAAA,MAAA,CACY,UAAA,eACN,GAAA,gBAAgBsB,IACb,MAAAV,IAAWU,EAHpB,SAAA,EAKE,EAAA,EAAA,IAAA,CAAC,EAAD,CACK,GAAA,IACE,KAAA,OACK,UAAA,oBAETD,SAAAA,EAAOpB,IALC,CAAA,GAOX,EAAA,EAAA,IAAA,CAAC,EAAD,CACQ,KAAAT,EAAc6B,EAAOnB,IAAK,EACtB,SAAA,GACJ,MAAA,YAAY,CAAA,CAEhB,CACE,CAAA,CAAA,CAhDHmB,EAAAA,EAAOtB,KAgDJ,EACXM,EAAA,GAAAO,EAAAP,EAAA,GAAAe,GAnDAD,EAAAR,EAAQiB,IAAKR,CAmDb,EAACf,EAAA,GAAAO,EAAAP,EAAA,GAAAM,EAAAN,EAAA,GAAAc,CAAA,KAAAA,GAAAd,EAAA,GAAA,IAAAe,EAAAf,EAAA,MAAAa,GAAAb,EAAA,MAAAc,GAxDNC,GAAA,EAAA,EAAA,IAAA,CAAA,MAAA,CAAe,UAAA,oBACb,UAAA,EAAA,EAAA,IAAA,CAAA,MAAA,CACY,UAAA,gBACH,MAAAF,EAENC,SAAAA,CAoDG,CAAA,CACF,CAAA,EAAAd,EAAA,IAAAa,EAAAb,EAAA,IAAAc,EAAAd,EAAA,IAAAe,GAAAA,EAAAf,EAAA,IAAA,IAAAwB,EAAAxB,EAAA,MAAAU,OAAAC,IAAA,2BAAA,GAEHa,EAAA,CAAC,WAAY,MAAM,EAACxB,EAAA,IAAAwB,GAAAA,EAAAxB,EAAA,IAAA,IAAAyB,EAAAzB,EAAA,MAAAO,GAAAP,EAAA,MAAAM,EAAAoB,QADvBD,GAAA,EAAA,EAAA,IAAA,CAAA,MAAA,CAAe,UAAA,mBACZD,SAAAA,EAAoBD,KAAKI,EAAAC,IAAA,CACxB,IAAAC,EAAetB,GAAUU,IAAU,EAAV,GAAA,GACzBa,EAAiBD,EAAS,GAAKA,GAAUvB,EAAQoB,OAAQ,OAEvD,EAAA,EAAA,IAAA,CAAC,EAAD,CAEO,KAAA,OACG,QAAA,QACG,UAAAI,EAAA,wCAAA,4BACCA,WAAAA,EACA,aAAA,GAAGH,EAAK,UACX,YAAMnB,EAAUqB,CAAM,EAE/B,UAAA,EAAA,EAAA,IAAA,CAAA,MAAA,CACY,UAAA,0BACF,QAAA,YACH,KAAA,eACO,cAAA,OAEZ,UAAA,EAAA,EAAA,IAAA,CAAA,OAAA,CAEI,EAAAZ,IAAU,EAAV,wbAAA,0bAE8b,CAAA,CAG9b,CAAA,CAtBD,EACAU,CADA,CAuBE,CAEZ,CACG,CAAA,EAAA3B,EAAA,IAAAO,EAAAP,EAAA,IAAAM,EAAAoB,OAAA1B,EAAA,IAAAyB,GAAAA,EAAAzB,EAAA,IAAA,IAAA+B,EAGF,OAHE/B,EAAA,MAAAe,GAAAf,EAAA,MAAAyB,GA7GZM,GAAA,EAAA,EAAA,IAAA,CAAA,UAAA,CACY,UAAA,eACS,qBAAA,mBAEnB,UAAA,EAAA,EAAA,IAAA,CAAA,MAAA,CAAe,UAAA,kBACb,UAAA,EAAA,EAAA,KAAA,CAAA,MAAA,CAAe,UAAA,iBAAf,SAAA,CACEtB,EAaAM,EA2DAU,CAgCI,GACF,CAAA,CACE,CAAA,EAAAzB,EAAA,IAAAe,EAAAf,EAAA,IAAAyB,EAAAzB,EAAA,IAAA+B,GAAAA,EAAA/B,EAAA,IAhHV+B,CAgHU"}