import{a as e,c as t,f as n,n as r,o as i,r as a,s as o,t as s}from"./request.vQUh8Jtz.js";import{c,d as l,i as u,o as d,s as f}from"./cookie.CKmiw6pz.js";import{n as p,t as m}from"./encrypt.BFgl42jB.js";import{t as h}from"./touchHover.DfBZohR2.js";var g={group:{getAll:async()=>s.GET({url:`/api/admin/group`}),create:async e=>s.POST({url:`/api/admin/group`,data:e}),update:async e=>s.PUT({url:`/api/admin/group`,data:e}),delete:async e=>s.DELETE({url:`/api/admin/group`,data:{id:e}})},zoom:{getAll:async()=>s.GET({url:`/api/admin/zoom`}),create:async e=>s.POST({url:`/api/admin/zoom`,data:e}),update:async e=>s.PUT({url:`/api/admin/zoom`,data:e}),delete:async e=>s.DELETE({url:`/api/admin/zoom`,data:{id:e}})},user:{getAll:async()=>s.GET({url:`/api/admin/user`}),create:async e=>s.POST({url:`/api/admin/user`,data:e}),update:async e=>s.PUT({url:`/api/admin/user`,data:e}),delete:async e=>s.DELETE({url:`/api/admin/user`,data:{id:e}}),getMFAStatus:()=>s.GET({url:`/api/user/mfa`}),setMFA:e=>s.POST({url:`/api/user/mfa`,data:e})},dictionaries:{getAll:async()=>s.GET({url:`/api/admin/chat/dictionaries`}),getPage:async(e,t)=>s.GET({url:`/api/admin/chat/dictionaries?page=${e}&per_page=${t}`}),create:async e=>s.POST({url:`/api/admin/chat/dictionaries`,data:e}),update:async e=>s.PUT({url:`/api/admin/chat/dictionaries`,data:e}),delete:async e=>s.DELETE({url:`/api/admin/chat/dictionaries`,data:{id:e}})},faqs:{getAll:async()=>s.GET({url:`/api/admin/chat/faqs`}),getPage:async(e,t)=>s.GET({url:`/api/admin/chat/faqs?page=${e}&per_page=${t}`}),create:async e=>s.POST({url:`/api/admin/chat/faqs`,data:e}),update:async e=>s.PUT({url:`/api/admin/chat/faqs`,data:e}),delete:async e=>s.DELETE({url:`/api/admin/chat/faqs`,data:{id:e}})},labels:{getAll:async()=>s.GET({url:`/api/admin/chat/labels`})},entities:{getAll:async()=>s.GET({url:`/api/admin/chat/entities`}),getPage:async(e,t)=>s.GET({url:`/api/admin/chat/entities?page=${e}&per_page=${t}`})},service:{getDomainUser:async e=>s.GET({url:`/api/service/simpegnas/domain?username=`+e})},front:{getEmailByUsername:async(e,t,n)=>s.GET({url:`/api/mfa/otp-check?username=${e}&token=${t}&captcha=${n}`}),sendEmailResetMFA:async e=>s.POST({url:`/api/mfa/otp-check`,data:e}),resetMFA:async e=>s.PUT({url:`/api/mfa/otp-check`,data:e}),getEmailResetPasswordByUsername:async(e,t,n)=>s.GET({url:`/api/forget-password?username=${e}&token=${t}&captcha=${n}`}),sendEmailResetPassword:async e=>s.POST({url:`/api/forget-password`,data:e}),resetPassword:async e=>s.PUT({url:`/api/forget-password`,data:e}),getTokenCaptcha:async()=>await grecaptcha.execute(`6LeaQUMrAAAAAPMGzY32uIPAgEKW6vsHhSba-j1K`,{action:`submit`})}},_=[{name:`ASN Karier`,desc:`ASN Karier merupakan portal untuk mendapatkan informasi dan seleksi jabatan lowong untuk ASN`,logo:`/images/logo-bkn.png`,url:`https://asnkarier.bkn.go.id?code=masuk`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Admin`,desc:`Admin SSCASN`,logo:`/images/logo-bkn.png`,url:`https://operator-sscasn.bkn.go.id/`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Verifikasi`,desc:`Verifikasi SSCASN`,logo:`/images/logo-bkn.png`,url:`https://verifikasi-dikdin.bkn.go.id/dashboard-login`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Pengolahan`,desc:`Pengolahan SSCASN`,logo:`/images/logo-bkn.png`,url:`https://pengolahan-sscasn.bkn.go.id/`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``}],v=[{name:`SSCASN`,desc:`Seleksi Calon Aparatur Sipil Negara`,logo:`/images/logo-bkn.png`,url:`https://sscasn.bkn.go.id`,isInternal:!1,isLocal:!0,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`ASN Karier`,desc:`ASN Karier merupakan portal untuk mendapatkan informasi dan seleksi jabatan lowong untuk ASN`,logo:`/images/logo-bkn.png`,url:`https://asnkarier.bkn.go.id?code=masuk`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Pro ASN`,desc:`Ujian Pro ASN`,logo:`/images/logo-bkn.png`,url:`https://proasn.bkn.go.id/peserta/login`,isInternal:!1,isLocal:!0,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Talent DNA (soon)`,desc:`Ujian Talent DNA`,logo:`/images/logo-bkn.png`,url:`#`,isInternal:!1,isLocal:!0,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``}],y=[{name:`MyASN`,desc:`MyASN adalah Layanan perorangan ASN ditujukan untuk seluruh user ASN baik PNS maupun PPPK.`,logo:`/images/logo-bkn.png`,url:`https://myasn.bkn.go.id?asndigital=true`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Kinerja`,desc:`Sistem kinerja ASN adalah suatu sistem yang mencatat, mengelola, dan mengevaluasi kinerja harian seluruh ASN mulai dari pegawai hingga atasan, guna memastikan pencapaian target dan efisiensi kerja.`,logo:`/images/logo-bkn.png`,url:`https://kinerja.bkn.go.id/login`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Presensi (BKN)`,desc:`Aplikasi presensi adalah sistem digital yang terdiri dari website untuk manajemen data kehadiran dan aplikasi mobile bagi pegawai untuk melakukan presensi secara online dengan fitur seperti GPS, QR Code, dan biometrik.`,logo:`/images/logo-bkn.png`,url:`https://presensi.bkn.go.id/`,isInternal:!1,isLocal:!0,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Presensi (Simpegnas)`,desc:`Aplikasi presensi adalah sistem digital yang terdiri dari website untuk manajemen data kehadiran dan aplikasi mobile bagi pegawai untuk melakukan presensi secara online dengan fitur seperti GPS, QR Code, dan biometrik.`,logo:`/images/logo-bkn.png`,url:`https://bkn.simpegnas.go.id/absensi/auth/login`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!0,roles:[`*`],icon:(e,t)=>``},{name:`Teken Digital 2.0`,desc:`Teken Digital merupakan layanan penandatanganan dokumen secara elektronik yang bekerjasama dengan Sertifikat Elektronik BSrE`,logo:`/images/logo-bkn.png`,url:`https://teken-digital.bkn.go.id`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`ASN Karier`,desc:`ASN Karier merupakan portal untuk mendapatkan informasi dan seleksi jabatan lowong untuk ASN`,logo:`/images/logo-bkn.png`,url:`https://asnkarier.bkn.go.id?code=masuk`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`IDIS`,desc:`Sistem informasi untuk melaporkan, mengelola dan memantau disiplin Aparatur Sipil Negara (ASN)`,logo:`/images/logo-bkn.png`,url:`https://idis.bkn.go.id`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Pengajuan Banding ASN (BPASN)`,desc:`Layanan Pengajuan Banding ASN`,logo:`/images/logo-bkn.png`,url:`https://bpasn.bkn.go.id/`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Talent DNA`,desc:`Layanan untuk mengukur kompetensi dan potensi ASN melalui asesmen berbasis digital (soon)`,logo:`/images/logo-bkn.png`,url:`/redirect/talent-dna`,isInternal:!1,isLocal:!0,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``}],b=[{name:`Perencanaan Kebutuhan`,desc:`Layanan pengelolaan data kelembagaan dan perencanaan kepegawaian bagian kualifikasi (OTK, peta jabatan, informasi jabatan, kebutuhan, integrasi unit kerja dan kebutuhan JF dengan pembina) dan data pemenuhan kebutuhan pegawai (alokasi formasi, rincian formasi, pertek formasi & cetak lampiran formasi). Data pada layanan perencanaan menjadi dasar yang digunakan oleh layanan-layanan lain terkait mutasi pegawai, pengisian jabatan, manajemen talenta dll.`,logo:`/images/logo-bkn.png`,url:`https://perencanaan-siasn.bkn.go.id/pengelolaan/dashboard`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`role:siasn-instansi:perencanaan`],icon:(e,t)=>``},{name:`SIASN Instansi`,desc:`Layanan usul Manajemen ASN dari Instansi ke BKN seperti Penetapan NIP, Kenaikan Pangkat, Pindah Instansi, Peremajaan data dan Pensiun`,logo:`/images/logo-bkn.png`,url:`https://siasn-instansi.bkn.go.id/`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`role:siasn-instansi`],icon:(e,t)=>``},{name:`Simpegnas`,desc:`Layanan kepegawaian untuk kebutuhan internal Instansi seperti pengajuan cuti, tugas belajar, diklat, KGB dan lainnya`,logo:`/images/logo-bkn.png`,url:`https://bkn.simpegnas.go.id/simpegnas/auth/login`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!0,roles:[`*`],icon:(e,t)=>``},{name:`Integrated Mutasi (I-MUT) Instansi`,desc:`Integrated Mutasi atau disingkat I-Mut adalah layanan pengawasan dan pengendalian tentang usulan rencana pengisian jabatan pimpinan tinggi melalui proses seleksi terbuka, Mutasi dari Jabatan Pimpinan Tinggi yang satu ke Jabatan Pimpinan Tinggi yang lain, atau melalui evaluasi kinerja terhadap Pejabatan Pimpinan Tinggi yang telah menduduki jabatan selama 5 tahun, serta layanan ini di gunakan juga untuk pengangkatan, rotasi/mutasi, promosi, pengukuhan, dan pemberhentian jabatan manajerial dan non manajerial di suatu instansi sesuai peraturan presiden No. 116 Tahun 2022 mengenai penyelenggaraan Pengawasan dan Pengendalian Pelaksanaan Norma, Standar, Prosedur, dan Kriteria (NSPK) Manajemen ASN`,logo:`/images/logo-bkn.png`,url:`https://imut-instansi.bkn.go.id`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`role:imut-instansi`],icon:(e,t)=>``},{name:`Manajemen Talenta`,desc:`Aplikasi untuk mencari talenta untuk menduduki jabatan tertentu secara sistem merit`,logo:`/images/logo-bkn.png`,url:`https://simata-siasn.bkn.go.id/`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`role:siasn-instansi:tm-instansi`],icon:(e,t)=>``},{name:`Manajemen Kinerja Organisasi (MAKO)`,desc:`Layanan untuk manajamen kinerja organisasi`,logo:`/images/logo-bkn.png`,url:`https://mako.bkn.go.id/main`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`DMS`,desc:`Pengelolaan arsip PNS`,logo:`/images/promotion-icon-png-9.jpg`,url:`https://dms-siasn.bkn.go.id/login`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Pengajuan Banding ASN (BPASN)`,desc:`Layanan Pengajuan Banding ASN`,logo:`/images/logo-bkn.png`,url:`https://bpasn.bkn.go.id/`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Kelas Jabatan (SIKEJAB)`,desc:`Layanan untuk menampilkan kelas jabatan serta peraturannya (SIKEJAB) dan layanan yang digunakan secara internal oleh direktorat Kompensasi dalam mendukung pengambilan keputusan terkait kesejahteraan ASN`,logo:`/images/logo-bkn.png`,url:`https://kesejahteraan-siasn.bkn.go.id/sikejab`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Manajemen JF`,desc:`Layanan untuk manajemen Jabatan Fungsional`,logo:`/images/logo-bkn.png`,url:`https://manajemen-jf.bkn.go.id/`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`RICT`,desc:`Registration on Competency Test (RICT) adalah layanan untuk Registrasi Uji Kompetensi Jabatan Fungsional di Bidang Manajemen ASN`,logo:`/images/logo-bkn.png`,url:`https://reg-ukom.bkn.go.id/`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`BKN Pedia`,desc:`BKN Pedia merupakan Learning Management System (LMS) dan Knowledge Management System (KMS) sebagai media pembelajaran daring serta repositori pengetahuan dan perpustakaan BKN`,logo:`/images/logo-bkn.png`,url:`https://bknpedia.bkn.go.id/plasma/login_sso`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Dashboard Operasional`,desc:`Dashboard Operasional merupakan layanan yang memfasilitasi resume dan statistik layanan kepegawaian sebagai pendukung pengambilan keputusan`,logo:`/images/logo-bkn.png`,url:`https://dashboard-operasional-siasn.bkn.go.id/beranda`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`role:dashboard-operasional`],icon:(e,t)=>``},{name:`Data Sena`,desc:`Data Analytics and Strategic Executive Navigation Assistant`,logo:`/images/logo-bkn.png`,url:`https://datasena.bkn.go.id/`,isInternal:!1,isLocal:!0,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Konsultasi`,desc:`Layanan untuk menampilkan jadwal konsultasi online secara langsung`,logo:`/images/logo-bkn.png`,url:`/meeting`,isInternal:!1,isLocal:!0,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Portal Layanan Penkom (soon)`,desc:`Layanan untuk pendaftaran penilaian kompetensi (soon)`,logo:`/images/logo-bkn.png`,url:`#`,isInternal:!1,isLocal:!0,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Akreditasi Lembaga Penkom (soon)`,desc:`Layanan untuk sertifikasi lembaga penilaian kompetensi (soon)`,logo:`/images/logo-bkn.png`,url:`#`,isInternal:!1,isLocal:!0,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Talent DNA (soon)`,desc:`Layanan untuk mengukur kompetensi dan potensi ASN melalui asesmen berbasis digital (soon)`,logo:`/images/logo-bkn.png`,url:`#`,isInternal:!1,isLocal:!0,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Pro ASN`,desc:`Layanan yang diperuntukkan untuk melakukan penilaian kompetensi dan potensi serta tripatha karir bagi ASN`,logo:`/images/logo-bkn.png`,url:`https://proasn.bkn.go.id/internal/login`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Smarta`,desc:`Sistem Penilaian Maturitas Manajemen Talenta`,logo:`/images/logo-bkn.png`,url:`https://smarta.bkn.go.id/`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Monitoring Pembinaan`,desc:`Layanan pembinaan untuk seluruh instansi`,logo:`/images/logo-bkn.png`,url:`https://mobi.bkn.go.id`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``}],x=[{name:`Perencanaan Kebutuhan`,desc:`Layanan pengelolaan data kelembagaan dan perencanaan kepegawaian bagian kualifikasi (OTK, peta jabatan, informasi jabatan, kebutuhan, integrasi unit kerja dan kebutuhan JF dengan pembina) dan data pemenuhan kebutuhan pegawai (alokasi formasi, rincian formasi, pertek formasi & cetak lampiran formasi). Data pada layanan perencanaan menjadi dasar yang digunakan oleh layanan-layanan lain terkait mutasi pegawai, pengisian jabatan, manajemen talenta dll.`,logo:`/images/logo-bkn.png`,url:`https://perencanaan-siasn.bkn.go.id/pengelolaan/dashboard`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`role:siasn-instansi:perencanaan`],icon:(e,t)=>``},{name:`Penetapan NIP`,desc:`Layanan Penetapan NIP merupakan layanan usul proses penetapan NIP CASN dari Instansi ke BKN`,logo:`/images/promotion-icon-png-9.jpg`,url:`https://penetapannip-siasn.bkn.go.id`,isInternal:!0,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`role:siasn-bkn:pengadaan`],icon:(e,t)=>``},{name:`Peremajaan Data`,desc:`Layanan peremajaan data adalah layanan pemutakhiran data pegawai secara berkala untuk memastikan data yang akurat dan terbaru.`,logo:`/images/promotion-icon-png-9.jpg`,url:`https://peremajaan-siasn.bkn.go.id`,isInternal:!0,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`role:siasn-bkn:peremajaan`],icon:(e,t)=>``},{name:`Kenaikan Pangkat`,desc:`Layanan Kenaikan Pangkat merupakan layanan untuk memvalidasi usulan kenaikan pangkat, pembuatan pertek dan pembuatan SK KP`,logo:`/images/promotion-icon-png-9.jpg`,url:`https://kp-siasn.bkn.go.id/homepage`,isInternal:!0,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`role:siasn-bkn:kp`],icon:(e,t)=>``},{name:`Integrated Mutasi (I-MUT)`,desc:`Integrated Mutasi atau disingkat I-Mut adalah layanan pengawasan dan pengendalian tentang usulan rencana pengisian jabatan pimpinan tinggi melalui proses seleksi terbuka, Mutasi dari Jabatan Pimpinan Tinggi yang satu ke Jabatan Pimpinan Tinggi yang lain, atau melalui evaluasi kinerja terhadap Pejabatan Pimpinan Tinggi yang telah menduduki jabatan selama 5 tahun, serta layanan ini di gunakan juga untuk pengangkatan, rotasi/mutasi, promosi, pengukuhan, dan pemberhentian jabatan manajerial dan non manajerial di suatu instansi sesuai peraturan presiden No. 116 Tahun 2022 mengenai penyelenggaraan Pengawasan dan Pengendalian Pelaksanaan Norma, Standar, Prosedur, dan Kriteria (NSPK) Manajemen ASN`,logo:`/images/logo-bkn.png`,url:`https://imut.bkn.go.id/dashboard`,isInternal:!0,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`role:imut-bkn`],icon:(e,t)=>``},{name:`Pindah Instansi`,desc:`Aplikasi untuk memfasilitasi perpindahan tugas Aparatur Sipil Negara (ASN) dari satu instansi ke instansi lain. Layanan ini dapat dilakukan antar instansi pusat dan daerah. *Syarat dan ketentuan berlaku`,logo:`/images/promotion-icon-png-9.jpg`,url:`https://mutasi-siasn.bkn.go.id`,isInternal:!0,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`role:siasn-bkn:pi`],icon:(e,t)=>``},{name:`Status Kedudukan Kepegawaian (SKK)`,desc:`Layanan SKK mencangkup usul perbaikan komponen NIP berupa tgl lahir, jenis kelamin, tmt cpns serta nama, selain itu juga untuk mengusulkan proses rekomendasi tewas serta CLTN`,logo:`/images/promotion-icon-png-9.jpg`,url:`https://skk-siasn.bkn.go.id`,isInternal:!0,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`role:siasn-bkn:skk`],icon:(e,t)=>``},{name:`Pengajuan Banding ASN (BPASN)`,desc:`Layanan Pengajuan Banding ASN`,logo:`/images/logo-bkn.png`,url:`https://bpasn.bkn.go.id/`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Pemblokiran`,desc:`Layanan Pemblokiran ASN`,logo:`/images/logo-bkn.png`,url:`https://wasdal-siasn.bkn.go.id/`,isInternal:!0,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`role:siasn-bkn:wasdal`],icon:(e,t)=>``},{name:`Pemberhentian`,desc:`Aplikasi menetapkan keputusan pemberhentian PNS dan/atau pemberian pensiun PNS berdasarkan pertimbangan teknis Kepala BKN atau Kepala Kantor Regional BKN. *Syarat dan ketentuan berlaku`,logo:`/images/logo-bkn.png`,url:`https://pemberhentian-siasn.bkn.go.id/`,isInternal:!0,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`role:siasn-bkn:pemberhentian`],icon:(e,t)=>``},{name:`Pensiun`,desc:`Aplikasi Pensiun`,logo:`/images/logo-bkn.png`,url:`https://pensiunan-siasn.bkn.go.id/dasbor`,isInternal:!0,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`role:siasn-bkn:pemberhentian`],icon:(e,t)=>``},{name:`e-Sidang BKN`,desc:`Layanan Sidang Status dan Kedudukan ASN`,logo:`/images/logo-bkn.png`,url:`https://esidang.bkn.go.id`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Konsultasi`,desc:`Layanan untuk menampilkan jadwal konsultasi online secara langsung`,logo:`/images/logo-bkn.png`,url:`/meeting`,isInternal:!1,isLocal:!0,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`8`],icon:(e,t)=>``},{name:`Dashboard Operasional`,desc:`Dashboard Operasional merupakan layanan yang memfasilitasi resume dan statistik layanan kepegawaian sebagai pendukung pengambilan keputusan`,logo:`/images/logo-bkn.png`,url:`https://dashboard-operasional-siasn.bkn.go.id/beranda`,isInternal:!1,isLocal:!1,isLogin:!0,isBKN:!0,isSimpegnas:!1,roles:[`role:dashboard-operasional`],icon:(e,t)=>``}],S=[{name:`Monitoring Layanan (Mola)`,desc:`Mola digunakan untuk mengecek status progress layanan seperti Kenaikan Pangkat, Pemberhentian, Pencantuman Gelar Akademik, Pengajuan Peninjauan Masa Kerja`,logo:`/images/logo-bkn.png`,url:`https://monitoring-siasn.bkn.go.id/`,isInternal:!1,isLocal:!0,isLogin:!1,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Helpdesk`,desc:`Helpdesk digunakan untuk melakukan pelaporan permasalahan Manajemen ASN maupun kendala teknis layanan Manajemen ASN BKN`,logo:`/images/logo-bkn.png`,url:`https://support-siasn.bkn.go.id/`,isInternal:!1,isLocal:!0,isLogin:!1,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`Pelaporan Pelanggaran Netralitas ASN`,desc:`Layanan yang digunakan untuk melakukan pelaporan pelanggaran Netralitas ASN selama pemilihan umum`,logo:`/images/logo-bkn.png`,url:`https://sbt.bkn.go.id/login`,isInternal:!1,isLocal:!0,isLogin:!1,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``},{name:`LOST AND FOUND`,desc:`Aplikasi pelaporan barang temuan dan kehilangan untuk lingkungan BKN.`,logo:`/images/logo-bkn.png`,url:`https://lostnfound.bkn.go.id/`,isInternal:!1,isLocal:!0,isLogin:!1,isBKN:!1,isSimpegnas:!1,roles:[`*`],icon:(e,t)=>``}],C=class{MENU_SELECT=[];MENU_SSCASN=[];MENU_SSCASN_GUEST=[];MENU_INSTANSI=[];MENU_INDIVIDU=[];MENU_BKN=[];iconColor=`text-[#DF2463]`;textColor=`text-[#269DD8]`;iconSize=`60`;simpegnasSubDomain=``;menuItemOrigin=`50% 50%`;btnLoginClose=document.getElementById(`btn-login-close`);menu=document.getElementById(`menu`);menuAll=document.getElementById(`menu-all`);menuSSCASN=document.getElementById(`menu-sscasn`);menuSSCASNGuest=document.getElementById(`menu-sscasn-guest`);menuInstansi=document.getElementById(`menu-instansi`);menuIndividu=document.getElementById(`menu-individu`);menuBKN=document.getElementById(`menu-bkn`);menuBKNAll=document.getElementById(`menu-bkn-all`);menuSSCASNAll=document.getElementById(`menu-sscasn-all`);menuSSCASNAllGuest=document.getElementById(`menu-sscasn-guest-all`);menuInstansiAll=document.getElementById(`menu-instansi-all`);menuIndividuAll=document.getElementById(`menu-individu-all`);menuIsGuest=document.getElementById(`menu-is-quest`);menuIsLogin=document.getElementById(`menu-is-login`);navbar=document.getElementById(`navbar`);btnStart=document.getElementById(`start-btn`);loadingElement=document.getElementById(`loading`);btnLogout=document.getElementById(`logout`);mnLogout=document.getElementById(`menu-logout`);mnAdmin=document.getElementById(`menu-admin`);userJenis=document.getElementsByClassName(`user-form`);userReset=document.getElementById(`user-reset`);userLogin=document.getElementById(`user-login`);btnResetForgetPass=document.getElementById(`reset-forget-pass`);btnResetWeakPass=document.getElementById(`reset-weak-pass`);bknAsistant=document.getElementById(`bkn-asistant`);bknAsistantChat=document.getElementById(`bkn-asistant-chat`);formBack=document.getElementById(`form-back`);navbarClose=document.getElementById(`navbar-close`);formLoginInput=document.getElementById(`login-form`);formLogin=document.getElementById(`form-login`);formReset=document.getElementById(`reset-form`);btnLogin=document.getElementById(`btn-login`);btnReset=document.getElementById(`btn-reset`);loginError=document.getElementById(`login-error`);resetError=document.getElementById(`reset-error`);user=document.getElementById(`user`);btnLayananPublic=document.getElementById(`btn-layanan-public`);btnLayananGuest2=document.getElementById(`btn-layanan-guest2`);btnLayananIndividu=document.getElementById(`btn-layanan-individu`);btnLayananInstansi=document.getElementById(`btn-layanan-instansi`);btnLayananBKN=document.getElementById(`btn-layanan-bkn`);btnLayananGuest=document.getElementById(`btn-layanan-guest`);btnLayananSeleksiGuest=document.getElementById(`btn-layanan-seleksi-guest`);btnLayananSeleksi=document.getElementById(`btn-layanan-seleksi`);btnLayananSeleksiMobile=document.getElementById(`btn-layanan-seleksi-mobile`);btnLayananLoginMobile=document.getElementById(`btn-layanan-login-mobile`);btnLayananGuestMobile=document.getElementById(`btn-layanan-guest-mobile`);btnLayananBKNMobile=document.getElementById(`btn-layanan-bkn-mobile`);btnLayananInstansiMobile=document.getElementById(`btn-layanan-instansi-mobile`);btnLayananIndividuMobile=document.getElementById(`btn-layanan-individu-mobile`);btnMajalahMobile=document.getElementById(`btn-majalah-mobile`);inputLoginPassword=document.querySelector(`input[name='password']`);passwordErrorElement=document.getElementById(`password-error`);inputResetPasswordBaru=document.querySelector(`input[name='password-baru']`);passwordBaruErrorElement=document.getElementById(`password-baru-error`);passwordBaruEyeElement=document.getElementById(`password-baru-eye`);inputUsername=i(`input[name="username"]`);inputPassword=i(`input[name="password"]`);inputResetUsername=i(`input[name="reset-username"]`);inputResetPassword=i(`input[name="reset-password"]`);btnResetMFAElement=document.getElementById(`reset-mfa-select`);captchaForget=document.getElementById(`forget-captcha`);captchaTokenForget=i(`input[name="forget-captcha-token"]`);captchaForgetInput=i(`input[name="forget-captcha"]`);captchaMFA=document.getElementById(`mfa-captcha`);captchaTokenMFA=i(`input[name="mfa-captcha-token"]`);captchaMFAInput=i(`input[name="mfa-captcha"]`);tooltip=document.createElement(`div`);passwordForgetBaruEyeElement=document.getElementById(`password-forget-baru-eye`);passwordForgetUlangEyeElement=document.getElementById(`password-forget-ulang-eye`);inputResetPasswordForgetBaru=document.querySelector(`input[name='password-forget-baru']`);inputResetPasswordForgetUlang=document.querySelector(`input[name='password-forget-ulang']`);passwordForgetUlangErrorElement=document.getElementById(`password-forget-ulang-error`);passwordForgetBaruErrorElement=document.getElementById(`password-forget-baru-error`);inputResetPasswordUlang=document.querySelector(`input[name='password-ulang']`);passwordUlangErrorElement=document.getElementById(`password-ulang-error`);passwordUlangEyeElement=document.getElementById(`password-ulang-eye`);menuNamaElement=document.getElementById(`menu-nama`);menuNamaMobileElement=document.getElementById(`menu-nama-mobile`);constructor(){}indexEventListeners(){this.btnLayananPublic?.addEventListener(`click`,()=>{this.showMenuLayanan()}),this.btnLayananLoginMobile?.addEventListener(`click`,()=>{this.showMenuLayanan()}),this.userReset?.addEventListener(`click`,async()=>{this.setMFACaptcha(),this.showUserForm(1)}),this.btnResetForgetPass?.addEventListener(`click`,async()=>{this.setForgetCaptcha(),this.showUserForm(3)}),this.btnResetWeakPass?.addEventListener(`click`,async()=>{this.showUserForm(2)}),this.userLogin?.addEventListener(`click`,async()=>{this.showUserForm(0)}),this.btnLogout?.addEventListener(`click`,()=>{this.logout()}),this.formLoginInput?.addEventListener(`submit`,async e=>{e.preventDefault(),this.handleLoginFormSubmission(e)}),this.formReset?.addEventListener(`submit`,async e=>{e.preventDefault(),this.handleResetFormSubmission(e)}),this.navbarClose?.addEventListener(`click`,()=>{this.closeMenu()}),document.getElementById(`navbar-close-mobile`)?.addEventListener(`click`,()=>{this.closeMenu()}),this.btnLayananGuest?.addEventListener(`click`,()=>{let e=this.getButtonOrigin(this.btnLayananGuest);this.showMenuPendukung(e)}),this.btnLayananGuest2?.addEventListener(`click`,()=>{let e=this.getButtonOrigin(this.btnLayananGuest2);this.showMenuPendukung(e)}),this.btnLayananGuestMobile?.addEventListener(`click`,()=>{this.showMenuPendukung()}),this.btnLayananSeleksi?.addEventListener(`click`,async()=>{let e=this.getButtonOrigin(this.btnLayananSeleksi);this.showMenuSSCASN(e)}),this.btnLayananSeleksiGuest?.addEventListener(`click`,async()=>{let e=this.getButtonOrigin(this.btnLayananSeleksiGuest);this.showMenuSSCASNGuest(e)}),this.btnLayananSeleksiMobile?.addEventListener(`click`,async()=>{(await u())?.pegawai?.username?this.showMenuSSCASN():this.showMenuSSCASNGuest()}),this.btnLayananIndividu?.addEventListener(`click`,()=>{let e=this.getButtonOrigin(this.btnLayananIndividu);this.showMenuIndividu(e)}),this.btnLayananIndividuMobile?.addEventListener(`click`,()=>{this.showMenuIndividu()}),this.btnLayananInstansi?.addEventListener(`click`,()=>{let e=this.getButtonOrigin(this.btnLayananInstansi);this.showMenuInstansi(e)}),this.btnLayananInstansiMobile?.addEventListener(`click`,()=>{this.showMenuInstansi()}),this.btnLayananBKN?.addEventListener(`click`,()=>{let e=this.getButtonOrigin(this.btnLayananBKN);this.showMenuBKN(e)}),this.btnLayananBKNMobile?.addEventListener(`click`,()=>{this.showMenuBKN()}),this.btnLoginClose?.addEventListener(`click`,()=>{this.showLoginForm(!1)}),this.inputLoginPassword?.addEventListener(`input`,e=>{this.validatePass(e)}),this.inputResetPasswordBaru?.addEventListener(`input`,e=>{this.validatePassBaru(e)}),this.passwordBaruEyeElement.addEventListener(`click`,()=>{this.inputResetPasswordBaru.type==`text`?this.inputResetPasswordBaru.type=`password`:this.inputResetPasswordBaru.type=`text`}),this.formBack.addEventListener(`click`,()=>{this.showUserForm(0)}),this.inputResetPasswordUlang?.addEventListener(`input`,e=>{this.validatePassUlang(e)}),this.passwordUlangEyeElement.addEventListener(`click`,()=>{this.inputResetPasswordUlang.type==`text`?this.inputResetPasswordUlang.type=`password`:this.inputResetPasswordUlang.type=`text`}),this.passwordForgetBaruEyeElement.addEventListener(`click`,()=>{this.inputResetPasswordForgetBaru.type==`text`?this.inputResetPasswordForgetBaru.type=`password`:this.inputResetPasswordForgetBaru.type=`text`}),this.passwordForgetUlangEyeElement.addEventListener(`click`,()=>{this.inputResetPasswordForgetUlang.type==`text`?this.inputResetPasswordForgetUlang.type=`password`:this.inputResetPasswordForgetUlang.type=`text`}),this.inputResetPasswordForgetBaru?.addEventListener(`input`,e=>{this.validatePassForgetBaru(e)}),this.inputResetPasswordForgetUlang?.addEventListener(`input`,e=>{this.validatePassForgetUlang(e)}),this.btnResetMFAElement?.addEventListener(`click`,()=>{this.showUserForm(4),this.showLoginForm(!0)}),this.isLogin(),this.init(),this.isLoading(!1),this.tooltip.className=`
fixed z-50 p-2 text-sm rounded-md bg-red-50 text-blue-900
border border-red-500 shadow-md opacity-0 pointer-events-none
transition-opacity duration-200 max-w-[350px]
`,document.body.appendChild(this.tooltip),this.attachTooltip()}async init(){this.isLoading(!0),await e(),r(),this.getSimpegnasStatus();let n=d(window.location.href);if(n?.action==`login`){let e=window.location.hash.substring(1);if(new URLSearchParams(e).get(`code`)||o(!1),!await this.checkLogin()){this.showUserForm(0),this.showLoginForm(!0);return}}n?.action==`logout`&&this.logout(),n?.action==`logout-internal`&&this.logoutInternal(),n?.action==`logout-all`&&this.logoutAll(),n?.redirect&&t.push(`run?app=${m(n?.redirect)}&isRedirect=true`),n?.app&&n?.realm&&n?.client_id&&t.push(`run?app=${m(n.app)}&realm=${n?.realm}&client_id=${n?.client_id}`),n?.menu&&(n.menu==`instansi`?this.showMenuInstansi():n.menu==`bkn`?this.showMenuBKN():n.menu==`individu`?this.showMenuIndividu():n.menu==`pendukung`&&this.showMenuPendukung())}setForgetCaptcha=async()=>{let e=await this.sendRequestGet(`/api/captcha/token`);e.status&&(this.captchaTokenForget.value=e.data.token,this.captchaForget.innerHTML=e.data.captcha)};showForgetCaptcha=e=>{e?(this.captchaForgetInput.classList.remove(`hidden`),this.captchaForget.classList.remove(`hidden`)):(this.captchaForgetInput.classList.add(`hidden`),this.captchaForget.classList.add(`hidden`))};setMFACaptcha=async()=>{let e=await this.sendRequestGet(`/api/captcha/token`);e.status&&(this.captchaTokenMFA.value=e.data.token,this.captchaMFA.innerHTML=e.data.captcha)};showMFACaptcha=e=>{e?(this.captchaMFAInput.classList.remove(`hidden`),this.captchaMFA.classList.remove(`hidden`)):(this.captchaMFAInput.classList.add(`hidden`),this.captchaMFA.classList.add(`hidden`))};getSimpegnasStatus=async()=>{let e=await u();if(e?.pegawai?.nip){let t=await g.service.getDomainUser(e?.pegawai?.nip??``);this.simpegnasSubDomain=t.data.domain??``}};getButtonOrigin(e){let t=e.getBoundingClientRect();return{x:(t.left+t.width/2)/window.innerWidth*100,y:(t.top+t.height/2)/window.innerHeight*100}}showMenuPendukung=e=>{this.menuNamaElement.innerHTML=`Layanan Pendukung`,this.MENU_SSCASN=[],this.MENU_SSCASN_GUEST=[],this.MENU_INDIVIDU=[],this.MENU_INSTANSI=[],this.MENU_BKN=[],this.MENU_SELECT=S,this.showMenu(e)};showMenuSSCASN=e=>{this.menuNamaElement.innerHTML=`Layanan SSCASN`,this.MENU_SSCASN=_,this.MENU_SSCASN_GUEST=[],this.MENU_INDIVIDU=[],this.MENU_INSTANSI=[],this.MENU_BKN=[],this.MENU_SELECT=[],this.showMenu(e)};showMenuSSCASNGuest=e=>{console.log(`showMenuSSCASNGuest`),this.menuNamaElement.innerHTML=`Layanan SSCASN`,this.MENU_SSCASN=[],this.MENU_SSCASN_GUEST=v,this.MENU_INDIVIDU=[],this.MENU_INSTANSI=[],this.MENU_BKN=[],this.MENU_SELECT=[],this.showMenu(e)};showMenuIndividu=e=>{this.menuNamaElement.innerHTML=`Layanan Individu ASN`,this.MENU_SSCASN=[],this.MENU_SSCASN_GUEST=[],this.MENU_INDIVIDU=y,this.MENU_INSTANSI=[],this.MENU_BKN=[],this.MENU_SELECT=[],this.showMenu(e)};showMenuInstansi=e=>{this.menuNamaElement.innerHTML=`Layanan Manajemen ASN Instansi`,this.MENU_SSCASN=[],this.MENU_SSCASN_GUEST=[],this.MENU_INDIVIDU=[],this.MENU_INSTANSI=b,this.MENU_BKN=[],this.MENU_SELECT=[],this.showMenu(e)};showMenuBKN=e=>{this.menuNamaElement.innerHTML=`Layanan Manajemen ASN BKN`,this.MENU_SSCASN=[],this.MENU_SSCASN_GUEST=[],this.MENU_INDIVIDU=[],this.MENU_INSTANSI=[],this.MENU_BKN=x,this.MENU_SELECT=[],this.showMenu(e)};setResetWeekPassword=()=>{this.inputResetUsername.value=this.inputUsername.value,this.inputResetPassword.value=this.inputPassword.value,this.resetError.innerHTML=`Password anda lemah, lakukan reset password`,this.showUserForm(2),this.showLoginForm(!0)};validatePass(e){let t=e.target.value,n=l(t);this.passwordErrorElement.innerHTML=n.message}async showMenuLayanan(){await this.checkLogin()?window.location.href=`/`:(this.showUserForm(0),this.showLoginForm(!0))}validatePassBaru(e){let t=e.target.value,n=l(t);this.passwordBaruErrorElement.innerHTML=n.message}validatePassUlang(e){this.inputResetPasswordBaru.value==e.target.value?this.passwordUlangErrorElement.innerHTML=``:this.passwordUlangErrorElement.innerHTML=`Password Tidak sama`}validatePassForgetBaru(e){let t=e.target.value,n=l(t);this.passwordForgetBaruErrorElement.innerHTML=n.message}validatePassForgetUlang(e){this.inputResetPasswordForgetBaru.value==e.target.value?this.passwordForgetUlangErrorElement.innerHTML=``:this.passwordForgetUlangErrorElement.innerHTML=`Password Tidak sama`}async checkLogin(){return!!await u()}closeMenu(){window.innerWidth<768||!this.navbar?(this.btnStart?.classList.remove(`hidden`),h(),this.navbar?.classList.remove(`active`)):(this.navbar.classList.add(`closing`),this.navbar.addEventListener(`animationend`,()=>{this.navbar.classList.remove(`active`,`closing`),this.btnStart?.classList.remove(`hidden`),h()},{once:!0}))}showUserForm(e){e==0?this.formBack.classList.add(`hidden`):this.formBack.classList.remove(`hidden`);for(let t=0;t{window.location.reload()},2e3),this.resetError.innerHTML=n.message,this.btnReset.disabled=!1,this.btnReset.innerHTML=`Reset`,this.isLoading(!1)}logout(){this.isLoading(!0),a(),window.location.href=`https://sso-siasn.bkn.go.id/auth/realms/public-siasn/protocol/openid-connect/logout?redirect_uri=${window.location.origin}?action=logout-internal`}logoutInternal(){this.isLoading(!0),a(),window.location.href=`https://sso-siasn.bkn.go.id/auth/realms/internal-BKN/protocol/openid-connect/logout?redirect_uri=${window.location.origin}?action=logout-all`}logoutAll(){window.location.href=`https://sso-siasn.bkn.go.id/logout.html?redirect=${window.location.origin}`}async isLogin(){let e=await u();if(e){this.mnLogout?.classList.remove(`hidden`),this.mnLogout?.classList.add(`flex`),this.mnAdmin?.classList.remove(`hidden`),this.mnAdmin?.classList.add(`flex`),this.menuIsGuest?.classList.add(`md:hidden`),this.menuIsLogin?.classList.remove(`md:hidden`),e.pegawai?.isBKN&&(this.bknAsistant?.classList.remove(`hidden`),this.bknAsistant?.classList.add(`flex`),this.bknAsistantChat?.classList.remove(`hidden`)),this.user.innerHTML=`Selamat Datang, `+e?.pegawai?.nama;let t=e?.pegawai?.nama??``,n=t.trim().split(/\s+/),r=n.length>=2?(n[0][0]+n[n.length-1][0]).toUpperCase():t.slice(0,2).toUpperCase(),i=document.getElementById(`mobile-user-avatar`),a=document.getElementById(`mobile-user-initials`);a&&(a.textContent=r),i&&(i.classList.remove(`hidden`),i.classList.add(`flex`));let o=document.getElementById(`akun-modal-nama`);o&&(o.textContent=e?.pegawai?.nama??``);let s=document.getElementById(`akun-modal-initials`);s&&(s.textContent=r);let c=document.getElementById(`mobile-nav-guest`),l=document.getElementById(`mobile-nav-login`);c&&c.classList.add(`hidden`),l&&(l.classList.remove(`hidden`),l.classList.add(`flex`)),e.pegawai?.isBKN?(this.btnLayananSeleksi?.classList.add(`group-hover:opacity-90`,`group-hover:-translate-x-[270px]`,`group-hover:translate-y-[60px]`),this.btnLayananIndividu?.classList.add(`group-hover:opacity-90`,`group-hover:-translate-x-[220px]`,`group-hover:-translate-y-[150px]`),this.btnLayananInstansi?.classList.add(`group-hover:opacity-90`,`group-hover:-translate-x-[10px]`,`group-hover:-translate-y-[210px]`),this.btnLayananBKN?.classList.add(`group-hover:opacity-90`,`group-hover:translate-x-[210px]`,`group-hover:-translate-y-[150px]`),this.btnLayananGuest?.classList.add(`group-hover:opacity-90`,`group-hover:translate-x-[270px]`,`group-hover:translate-y-[60px]`)):(this.btnLayananSeleksi?.classList.add(`group-hover:opacity-90`,`group-hover:-translate-x-[270px]`,`group-hover:translate-y-[60px]`),this.btnLayananIndividu?.classList.add(`group-hover:opacity-90`,`group-hover:-translate-x-[140px]`,`group-hover:-translate-y-[160px]`),this.btnLayananInstansi?.classList.add(`group-hover:opacity-90`,`group-hover:translate-x-[130px]`,`group-hover:-translate-y-[160px]`),this.btnLayananGuest?.classList.add(`group-hover:opacity-90`,`group-hover:translate-x-[270px]`,`group-hover:translate-y-[60px]`)),this.btnLayananInstansiMobile?.classList.remove(`hidden`),this.btnLayananInstansiMobile?.classList.add(`flex`),this.btnLayananIndividuMobile?.classList.remove(`hidden`),this.btnLayananIndividuMobile?.classList.add(`flex`),e?.pegawai?.isBKN?(this.btnLayananBKNMobile?.classList.remove(`hidden`),this.btnLayananBKNMobile?.classList.add(`flex`),this.btnLayananSeleksiMobile?.classList.add(`group-hover:opacity-90`,`group-hover:-translate-y-0`),this.btnLayananIndividuMobile?.classList.add(`group-hover:opacity-90`,`group-hover:-translate-y-[30px]`),this.btnLayananInstansiMobile?.classList.add(`group-hover:opacity-90`,`group-hover:translate-y-0`),this.btnLayananBKNMobile?.classList.add(`group-hover:opacity-90`,`group-hover:translate-y-[30px]`),this.btnLayananGuestMobile?.classList.add(`group-hover:opacity-90`,`group-hover:translate-y-[60px]`),this.btnMajalahMobile?.classList.add(`group-hover:opacity-90`,`group-hover:translate-y-[90px]`)):(this.btnLayananSeleksiMobile?.classList.add(`group-hover:opacity-90`,`group-hover:-translate-y-[0px]`),this.btnLayananIndividuMobile?.classList.add(`group-hover:opacity-90`,`group-hover:-translate-y-[30px]`),this.btnLayananInstansiMobile?.classList.add(`group-hover:opacity-90`,`group-hover:translate-y-0`),this.btnLayananGuestMobile?.classList.add(`group-hover:opacity-90`,`group-hover:translate-y-[30px]`),this.btnMajalahMobile?.classList.add(`group-hover:opacity-90`,`group-hover:translate-y-[60px]`))}else this.menuIsGuest?.classList.remove(`md:hidden`),this.menuIsLogin?.classList.add(`md:hidden`),this.btnLayananSeleksiMobile?.classList.add(`group-hover:opacity-90`,`group-hover:-translate-y-[30px]`),this.btnLayananLoginMobile?.classList.add(`group-hover:opacity-90`,`group-hover:-translate-y-[0px]`),this.btnLayananGuestMobile?.classList.add(`group-hover:opacity-90`,`group-hover:translate-y-[30px]`),this.btnMajalahMobile?.classList.add(`group-hover:opacity-90`,`group-hover:translate-y-[55px]`)}async login(e){return await this.sendRequest(`/api/login`,e)}async reset(e){return await this.sendRequest(`/api/reset`,e)}sendRequest=async(e,t)=>{try{let n={};t.forEach((e,t)=>{n[t]=e.toString()});let r=await fetch(e,{method:`POST`,headers:{"Content-Type":`multipart/form-data`},body:JSON.stringify(n)}).then(e=>e),i=await r.json();return r.ok?{status:i.status,message:i.message,data:i.data}:{status:i.status,message:i.message}}catch(e){console.error(e)}return{status:!1,message:`Gagal load server`}};sendRequestGet=async e=>{try{let t=await fetch(e).then(e=>e),n=await t.json();return t.ok?{status:n.status,message:n.message,data:n.data}:{status:n.status,message:n.message}}catch(e){console.error(e)}return{status:!1,message:`Gagal load server`}};showMenu(e={x:50,y:50}){this.navbar&&(this.navbar.style.setProperty(`--menu-origin-x`,`${e.x}%`),this.navbar.style.setProperty(`--menu-origin-y`,`${e.y}%`)),this.btnStart?.classList.add(`hidden`),this.menuNamaMobileElement&&(this.menuNamaMobileElement.innerHTML=this.menuNamaElement?.innerHTML??``),this.MENU_SELECT.length==0?this.menuAll?.classList.add(`hidden`):this.menuAll?.classList.remove(`hidden`),this.MENU_SSCASN.length==0?(this.menuSSCASN?.classList.add(`hidden`),this.menuSSCASNAll?.classList.add(`hidden`)):(this.menuSSCASN?.classList.remove(`hidden`),this.menuSSCASNAll?.classList.remove(`hidden`)),this.MENU_SSCASN_GUEST.length==0?(this.menuSSCASNGuest?.classList.add(`hidden`),this.menuSSCASNAllGuest?.classList.add(`hidden`)):(this.menuSSCASNGuest?.classList.remove(`hidden`),this.menuSSCASNAllGuest?.classList.remove(`hidden`)),this.MENU_BKN.length==0?(this.menuBKN?.classList.add(`hidden`),this.menuBKNAll?.classList.add(`hidden`)):(this.menuBKN?.classList.remove(`hidden`),this.menuBKNAll?.classList.remove(`hidden`)),this.MENU_INSTANSI.length==0?(this.menuInstansi?.classList.add(`hidden`),this.menuInstansiAll?.classList.add(`hidden`)):(this.menuInstansi?.classList.remove(`hidden`),this.menuInstansiAll?.classList.remove(`hidden`)),this.MENU_INDIVIDU.length==0?(this.menuIndividu?.classList.add(`hidden`),this.menuIndividuAll?.classList.add(`hidden`)):(this.menuIndividu?.classList.remove(`hidden`),this.menuIndividuAll?.classList.remove(`hidden`)),this.navbar?.classList.add(`active`),this.handleShowMenu(this.menu,this.MENU_SELECT,``),this.handleShowMenu(this.menuSSCASN,this.MENU_SSCASN,``),this.handleShowMenu(this.menuSSCASNGuest,this.MENU_SSCASN_GUEST,``),this.handleShowMenu(this.menuBKN,this.MENU_BKN,``),this.handleShowMenu(this.menuInstansi,this.MENU_INSTANSI,``),this.handleShowMenu(this.menuIndividu,this.MENU_INDIVIDU,``)}isLoading(e){e?(this.loadingElement?.classList.remove(`hidden`),this.loadingElement?.classList.add(`flex`)):(this.loadingElement?.classList.add(`hidden`),this.loadingElement?.classList.remove(`flex`))}attachTooltip(){let e=null;document.addEventListener(`mousemove`,t=>{e||=requestAnimationFrame(()=>{e=null;let n=t.target.closest(`.has-tooltip`);if(n&&n.dataset.desc){let e=n.dataset.desc;this.tooltip.innerHTML=e||``;let r=t.clientY+12,i=t.clientX+12,a=this.tooltip.getBoundingClientRect();i+a.width>window.innerWidth&&(i=window.innerWidth-a.width-8),r+a.height>window.innerHeight&&(r=t.clientY-a.height-12),this.tooltip.style.top=`${r}px`,this.tooltip.style.left=`${i}px`,this.tooltip.style.opacity=`1`}else this.tooltip.style.opacity=`0`})})}async handleShowMenu(e,t,r){e.innerHTML=``;let i=await u(),a=0;for(let o=0;o`;s.icon(this.iconSize,this.iconColor)&&(r=s.icon(this.iconSize,this.iconColor));let c=`/run?app=${s.url}&isInternal=${s.isInternal}&isLocal=${s.isLocal}`;s.isLocal&&(c=s.url),s.isInternal;let l=!0;if(i){let e=!1;try{i.roles.map(n=>{t[o].roles.map(t=>{t==`*`&&(e=!0),n.role.includes(t)&&(e=!0)})})}catch{}e||(l=!1)}let d=await u();this.simpegnasSubDomain!=``&&s.isSimpegnas?s.url=s.url.replace(`https://bkn.simpegnas.go.id`,`https://${this.simpegnasSubDomain}.simpegnas.go.id`):this.simpegnasSubDomain==``&&s.isSimpegnas&&(l=!1),s?.isLogin&&(d||(c=`/?action=login&redirect=`+p(s.url))),!d?.pegawai?.isBKN&&!s.isInternal&&(c=s.url),s?.isBKN&&!d?.pegawai?.isBKN&&(l=!1),l&&(typeof e.insertAdjacentHTML!=`function`&&n({status:`warning`,text:`Silahkan Update browser anda`}),e.insertAdjacentHTML(`beforeend`,`