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. Validator builder menerima tepat 84 type berikut, dikelompokkan dalam 7 kategori sesuai panel Library.
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 Form Builder= hanya valid di builder yang sesuai.
Layout (5)
Wrapper struktural. Hanya layout types yang boleh punya children.
| type | Deskripsi | Children |
|---|---|---|
section | Pembungkus full-width terluar. Background-nya meluas ke seluruh viewport. | wajib |
container | Memberi max-width terpusat di dalam section. | wajib |
block | Flex container generik; serbaguna untuk grouping element. | wajib |
slider | Carousel/slider; tiap child jadi satu slide. | wajib |
logo | Logo situs (dari pengaturan), dengan link opsional. | tidak boleh |
Basic (10)
Element konten yang paling sering dipakai.
| type | Deskripsi | Children |
|---|---|---|
heading | Judul H1–H6, mendukung mode plain & rich (bold/italic/link/warna per kata). | tidak boleh |
basicText | Paragraf teks polos tanpa rich formatting. | tidak boleh |
richText | Paragraf rich text (bold, italic, link, list, dll). | tidak boleh |
image | Gambar tunggal (upload, URL eksternal, atau dinamis). | tidak boleh |
video | Embed YouTube/Vimeo via URL. | tidak boleh |
button | Tombol dengan link, tracking pixel, dan styling penuh. | tidak boleh |
textLink | Hyperlink inline ringan, tanpa styling tombol. | tidak boleh |
icon | Icon tunggal (Lucide / Phosphor / Tabler / custom SVG). | tidak boleh |
divider | Garis pemisah horizontal atau vertical. | tidak boleh |
spacer | Jarak vertical kosong dengan tinggi yang bisa diatur. | tidak boleh |
General (14)
Element interaktif & informatif untuk landing page dan konten umum.
| type | Deskripsi | Children |
|---|---|---|
counter | Angka besar dengan animasi count-up (untuk statistik). | tidak boleh |
accordion | Daftar panel expand/collapse (FAQ). | tidak boleh |
iconList | Daftar item dengan icon kustom per baris. | tidak boleh |
iconListItem | Satu baris di dalam iconList (child). | tidak boleh |
alertBanner | Banner notice: info / success / warning / error. | tidak boleh |
table | Tabel data dengan baris/kolom yang bisa dikonfigurasi. | tidak boleh |
countdownTimer | Hitung mundur ke tanggal target (promo terbatas). | tidak boleh |
breadcrumb | Jejak navigasi (Home > Katalog > ...). Auto-emit BreadcrumbList JSON-LD. | tidak boleh |
menu | Menu navigasi (header/footer); pilih menu yang dibuat di dashboard. | tidak boleh |
searchBar | Input pencarian situs (produk, post, course, page). | tidak boleh |
mapEmbed | Embed Google Maps via alamat atau kode iframe. | tidak boleh |
htmlEmbed | Embed HTML kustom (iframe, widget pihak ketiga, output AI). | tidak boleh |
customHtml | HTML kustom di antara field form (teks legal, pemisah info). | tidak boleh |
form | Tampilkan form yang dibuat di Form Builder, berdasarkan id. | tidak boleh |
eCommerce (17)
Element toko, course, dan checkout. Slot checkout* hanya valid di dalam template checkout (template only).
| type | Deskripsi | Children |
|---|---|---|
cart | Icon keranjang dengan badge jumlah item. | tidak boleh |
productGrid | Grid produk situs (sort, limit, filter kategori). | tidak boleh |
productImageGallery | Galeri gambar produk (untuk halaman detail produk). | tidak boleh |
checkoutButton | "Beli sekarang" — tombol langsung ke checkout produk/bundle. | tidak boleh |
miniCheckout | Checkout 1-produk/bundle inline di tengah landing page. | tidak boleh |
courseGrid | Grid course yang sudah dipublikasikan. | tidak boleh |
curriculumList | Daftar kurikulum course (section + lesson) untuk halaman course. | tidak boleh |
checkoutItems | Slot daftar item di template halaman Checkout. | tidak boleh |
checkoutForm | Slot form data pelanggan di template Checkout. | tidak boleh |
checkoutShipping | Slot pemilih kurir/ongkir di template Checkout. | tidak boleh |
checkoutPayment | Slot pemilih metode pembayaran di template Checkout. | tidak boleh |
checkoutSummary | Slot ringkasan total di template Checkout. | tidak boleh |
checkoutField | Slot field tunggal data pelanggan di template Checkout. | tidak boleh |
checkoutAddress | Slot input alamat di template Checkout. | tidak boleh |
checkoutCoupon | Slot input kode kupon di template Checkout. | tidak boleh |
checkoutTotals | Slot rincian total (subtotal/ongkir/pajak) di template Checkout. | tidak boleh |
checkoutPayButton | Slot tombol bayar di template Checkout. | tidak boleh |
Social (2)
Element social proof.
| type | Deskripsi | Children |
|---|---|---|
testimonial | Testimoni single/grid (foto + nama + kutipan + rating). | tidak boleh |
socialIcons | Deretan icon media sosial dengan link (FB/IG/TikTok/X/YT/dll). | tidak boleh |
Forms (7)
Element field form. Hanya valid di Form Builder (/dashboard/[siteSlug]/forms/[formId]/builder); tidak boleh di Page/Template Builder.
| type | Deskripsi | Children |
|---|---|---|
nameField | Input nama lengkap (wajib/opsional). | tidak boleh |
emailField | Input email dengan validasi format. | tidak boleh |
phoneField | Input nomor telepon. | tidak boleh |
textareaField | Input teks multi-baris. | tidak boleh |
selectField | Dropdown dengan opsi kustom. | tidak boleh |
checkboxField | Checkbox tunggal (consent / terms). | tidak boleh |
submitButton | Tombol submit form. Tiap form minimal punya 1 submitButton. | tidak boleh |
Dynamic (29) — Template Only
Element yang mengambil datanya dari templateContext aktif (post / produk / page / course saat ini). Hanya valid di template builder yang sesuai (mis. postTitle hanya di single_post atau post_archive). Jangan dipakai di section/header/footer/checkout/page biasa.
Post (5) — single_post / post_archive template
postTitle: Judul post saat ini.postContent: Body post (rich text HTML). Hanya single_post.postFeaturedImage: Featured image post.postExcerpt: Excerpt/ringkasan post.postMeta: Tanggal publish, penulis, kategori.
Product (17) — single_product / shop_catalog / product_category template
productTitle: Nama produk.productPrice: Harga dengan format mata uang situs (+ coret saat sale).productDescription: Deskripsi produk. Hanya single_product.productImage: Foto utama produk.productVariants: Pemilih varian (ukuran/warna/dll).productPlans: Pemilih paket (produk digital multi-plan).productQuantity: Stepper jumlah pembelian.productCustomerNote: Input catatan pelanggan untuk produk.addToCartButton: Tombol tambah ke keranjang untuk produk saat ini.productStock: Indikator status stok.productSku: Kode SKU produk.productSalePercent: Persentase diskon (badge).productSalePrice: Harga setelah diskon.productRegularPrice: Harga normal (sebelum diskon).productCountdown: Hitung mundur akhir promo produk.productShare: Tombol share produk ke sosial media.productWholesaleTable: Tabel harga grosir (tiered) produk.
Page (3) — single_page template
pageTitle: Judul page.pageContent: Body page.pageFeaturedImage: Featured image page.
Course (4) — single_course / course_archive template
courseTitle: Judul course.courseDescription: Deskripsi course. Hanya single_course.courseImage: Cover image course.courseInstructor: Nama/foto instruktur.
Type tak dikenal akan ditolak
Validator menolak element yang type-nya di luar 84 daftar di atas (error: Invalid input pada element). Pastikan schema buatan AI maupun manual hanya memakai literal dari daftar ini. Catatan: helper type lama seperti tabs, sidebarLayout, col1, featureGrid, timeline, dan pricingTable bukan type element yang valid.