Daftar Type Element (AlusElementType)
Referensi lengkap semua type element yang resmi diterima Alus Builder, dikelompokkan per kategori.
Field type di setiap AlusElement adalah string literal yang mengidentifikasi jenis element. Builder hanya menerima 74 type berikut, dikelompokkan dalam 7 kategori sesuai panel Library.
Tabel di bawah pakai notasi:
- Children:
wajibberarti propertychildren: AlusElement[]harus ada (boleh[]kosong);tidak bolehberarti leaf element. - Konteks:
universal= bisa dipakai di page/section/template apa pun;template only= hanya valid di template builder yang sesuai.
Layout (4)
Wrapper struktural. Hanya layout types yang boleh punya children.
| type | Deskripsi | Children |
|---|---|---|
section | Pembungkus full-width terluar. Background section meluas ke seluruh viewport. | wajib |
container | Memberi max-width terpusat di dalam section. | wajib |
block | Generic flex container; serbaguna untuk grouping element. | wajib |
sidebarLayout | Layout 2 area (main + sidebar). Wajib punya tepat 2 children: sidebarMain + sidebarAside. | wajib |
Layout helper types (auto-generated saat drop layout di builder, tapi valid di JSON):
sidebarMain,sidebarAside: child slot darisidebarLayout.tabs(children harus semuatab) +tab(children bebas).twoColLayout(children harus tepatcol1+col2) +col1,col2.
Basic (10)
Element konten dasar paling sering dipakai.
| type | Deskripsi | Children |
|---|---|---|
heading | H1-H6 dengan rich text inline (bold/italic/link/warna). | tidak boleh |
basicText | Paragraf polos, tanpa formatting kompleks. | tidak boleh |
richText | Paragraf dengan rich text (bold, italic, link, list, dll). | tidak boleh |
image | Gambar tunggal (asset uploader, URL eksternal, atau dynamic). | tidak boleh |
video | Embed video YouTube/Vimeo via URL. | tidak boleh |
button | Tombol dengan link, tracking pixel, dan styling lengkap. | tidak boleh |
textLink | Hyperlink ringan inline, tanpa styling tombol. | tidak boleh |
icon | Ikon tunggal (Lucide / Phosphor / Tabler / custom SVG). | tidak boleh |
divider | Garis pemisah horizontal. | tidak boleh |
spacer | Spasi vertikal kosong dengan tinggi konfigurable. | tidak boleh |
General (18)
Element interaktif & informatif untuk landing page dan halaman umum.
| type | Deskripsi | Children |
|---|---|---|
tabs | Tab navigation. Children harus semua type tab. | wajib |
accordion | Daftar panel yang bisa di-expand/collapse (FAQ). | tidak boleh |
breadcrumb | Trail navigasi (Home > Catalog > ...). Auto-emit JSON-LD BreadcrumbList. | tidak boleh |
counter | Angka besar dengan animasi count-up (untuk statistik). | tidak boleh |
iconList | List bullet dengan ikon kustom per item. | tidak boleh |
countdownTimer | Hitung mundur ke tanggal target (untuk promo terbatas). | tidak boleh |
alertBanner | Banner notifikasi info/success/warning/error. | tidak boleh |
timeline | Timeline vertikal/horizontal dengan event berurutan. | tidak boleh |
table | Tabel data dengan baris/kolom konfigurable. | tidak boleh |
mapEmbed | Google Maps embed via alamat atau iframe code. | tidak boleh |
form | Embed form yang dibuat di Form Builder, by id. | tidak boleh |
searchBar | Input pencarian global site (produk, post, course, page). | tidak boleh |
basicMenu | Navigasi menu (header/footer); pilih menu yang dibuat di dashboard. | tidak boleh |
htmlEmbed | Embed kode HTML kustom (iframe, widget pihak ketiga, AI output). | tidak boleh |
imageGallery | Galeri multi-gambar dengan layout grid/masonry. | tidak boleh |
featureCard | Kartu fitur tunggal (ikon + judul + deskripsi). | tidak boleh |
featureGrid | Grid fitur multi-item (built-in layout). | tidak boleh |
pricingTable | Tabel harga multi-tier untuk produk SaaS / paket. | tidak boleh |
eCommerce (11)
| type | Deskripsi | Children |
|---|---|---|
productGrid | Grid produk site (sortir, limit, filter kategori). | tidak boleh |
productImageGallery | Galeri gambar produk (untuk halaman detail produk). | tidak boleh |
courseGrid | Grid kursus published. | tidak boleh |
curriculumList | Daftar kurikulum kursus (section + lesson) untuk halaman course. | tidak boleh |
checkoutButton | Tombol "Beli Sekarang" yang link langsung ke checkout produk/bundle. | tidak boleh |
miniCheckout | Checkout inline 1 produk/bundle di tengah landing page. | tidak boleh |
checkoutItems | Slot daftar item di template halaman Checkout. | tidak boleh |
checkoutForm | Slot form data customer di template Checkout. | tidak boleh |
checkoutShipping | Slot pilihan kurir/ongkir di template Checkout. | tidak boleh |
checkoutPayment | Slot pilihan metode pembayaran di template Checkout. | tidak boleh |
checkoutSummary | Slot ringkasan total di template Checkout. | tidak boleh |
Catatan: checkoutItems/checkoutForm/checkoutShipping/checkoutPayment/checkoutSummary hanya valid di template type checkout (template only).
Social (2)
| type | Deskripsi | Children |
|---|---|---|
testimonial | Testimoni single/grid (foto + nama + kutipan + rating). | tidak boleh |
socialIcons | Deretan ikon sosial media dengan link (FB/IG/TikTok/X/YT/dll). | tidak boleh |
Forms (8)
Element form field. Hanya valid di Form Builder (/dashboard/[siteSlug]/forms/[formId]/builder), tidak boleh dipakai di Page/Template Builder.
| type | Deskripsi |
|---|---|
nameField | Input nama lengkap (wajib/opsional). |
emailField | Input email dengan validasi format. |
phoneField | Input nomor telepon. |
textareaField | Input text multi-line. |
selectField | Dropdown pilihan dengan options custom. |
checkboxField | Single checkbox (untuk consent/terms). |
customHtml | HTML kustom di antara field (untuk legal text, divider info). |
submitButton | Tombol submit form. Setiap form harus punya min. 1 submitButton. |
Dynamic (16) — Template Only
Element yang resolve datanya dari templateContext aktif (post / product / page / course saat ini). Hanya valid di template builder yang cocok (mis. postTitle hanya di template single_post atau post_archive). Jangan pakai di section/header/footer/checkout/page biasa.
Post (5) — template single_post / post_archive
postTitle: judul post saat ini.postContent: isi body post (HTML rich text). Hanya disingle_post.postFeaturedImage: featured image post.postExcerpt: ringkasan post.postMeta: tanggal publish, author, kategori.
Product (4) — template single_product / shop_catalog
productTitle: nama produk.productPrice: harga dengan format currency site.productDescription: deskripsi produk. Hanya disingle_product.productImage: foto utama produk.
Page (3) — template single_page
pageTitle: judul page.pageContent: isi page.pageFeaturedImage: featured image page.
Course (4) — template single_course / course_archive
courseTitle: judul kursus.courseDescription: deskripsi kursus. Hanya disingle_course.courseImage: cover kursus.courseInstructor: nama/foto instruktur.
Type tidak dikenal akan ditolak
Validator builder reject element dengan type di luar daftar 74 di atas. Pesan error: elements[i].type: Invalid enum value. Pastikan AI/hand-craft hanya pakai type literal di atas.