enableSlider = true), orenableSlider = false)/brands/brand/<alias>{
"showAllBrandsButton": false,
"enableSlider": false,
"brands": [
{
"name": "Sample brand name",
"alias": "sample-brand-alias",
"mediaItem": {
"id": "Image Id",
"link": "https://example.com/sample",
"mediaType": "Image"
}
},
...
],
"name": "BrandList",
"view": "Default",
"section": "SectionA",
"settings": {
"showAllBrandsButton": false,
"enableSlider": false,
"id": "Component Id",
"section": "SectionA",
"type": "NoirBrandList",
"name": "BrandList",
"configuredInContentApi": true,
"view": "Default",
"displayName": "",
"cssClass": "(UNDEFINED)"
},
"translations": {
"showAllBrands": "Sample translation",
"clickToLearnMoreAbout": "Sample translation",
"previous": "Sample translation",
"...": "..."
}
}settings.idcomp-{{ id }}brands-carousel-{{ id }}swiper-button-next-{{ id }}, swiper-button-prev-{{ id }}brands[]brands exists and brands.length > 0.settings.cssClass(UNDEFINED).settings.header (string)settings.alignment (string enum)Left (default)CenterRightsettings.enableSlider (boolean)true, Swiper is initialized and next/prev buttons are rendered.settings.showAllBrandsButton (boolean)true, renders a CTA button linking to /brands.x-init:x-init="brandlistdefault.swiperInit('{{ id }}', {{ enableSlider }})"enableSlider is enabled.#brands-carousel-<id>, wires optional navigation/pagination elements (when present), and applies responsive breakpoints for slides-per-view.x-init, not for reactive state)brands[] is empty or missing, the component renders nothing.enableSlider is true but Swiper isn’t loaded, the list will not behave as a slider.mediaItem.link will use the no-image fallback; depending on mode, the brand name may also appear as text in the card.settings.header exists, it prints a title (uppercase).settings.alignment.settings.enableSlider is true, Swiper initialization is triggered via:x-init="brandlistdefault.swiperInit('{{ id }}', {{ enableSlider }})"previous, next)settings.showAllBrandsButton is true:/brandstranslations.showAllBrands