with two triggers: * [data-list-export="csv"] — plain CSV * [data-list-export="excel"] — UTF-8 BOM + semicolon (opens in Excel) * * The URL is NOT set here. The JS module `/js/core/app-list-export.js` * picks up the trigger clicks, reads the grid filter/sort state, and * navigates to the configured export endpoint. * * Consumer contract: * - Pass the export endpoint to the JS module via page config * (initListExport({ gridConfig, exportUrl })). * - Place this partial inside $listTitleActionsHtml. */ ?>