eai-frontend-components 2.0.50 → 2.0.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -10571,6 +10571,32 @@ function DataTable({ columns, data, className, title, rowsPage, actions, actions
10571
10571
  }, className: 'w-full bg-background text-default border-none focus:ring-0 focus:outline-none px-3 py-2 transform transition-transform duration-300 group-hover:-translate-x-1 ' })] })), filtersActions && (jsxRuntime.jsxs(Sheet, { open: filtersActions.filterOpen, onOpenChange: filtersActions.setFilterOpen, children: [jsxRuntime.jsx(SheetTrigger, { asChild: true, children: jsxRuntime.jsxs(Button, { variant: 'secondary', type: 'button', children: [jsxRuntime.jsx(lucideReact.Filter, { size: 20, className: 'h-4 w-4' }), " Filtros", filtersActions.countFilters > 0 && (jsxRuntime.jsx("div", { className: 'bg-background-primary text-white rounded-full h-5 w-5 flex items-center justify-center text-sm placeholder:text-muted-foreground', children: filtersActions.countFilters }))] }) }), jsxRuntime.jsxs(SheetContent, { children: [jsxRuntime.jsxs(SheetHeader, { children: [jsxRuntime.jsx(SheetTitle, { children: "Filtros" }), jsxRuntime.jsx(SheetDescription, {})] }), jsxRuntime.jsx("div", { className: 'flex flex-col py-6', children: filtersActions.fields })] })] }))] }), customFilters, jsxRuntime.jsx("div", { className: 'flex space-x-4 content-end', children: actions?.map((action, index) => (jsxRuntime.jsx("div", { children: jsxRuntime.jsxs(Button, { type: 'button', onClick: () => action.onClick?.(selectedIds, selectedRows), className: cn(action.className, action.hideUnselectedRows && selectedRows.length === 0 ? 'hidden' : ''), variant: action.variant || 'default', disabled: action.disabled, children: [jsxRuntime.jsx("div", { className: '[&_svg]:size-5', children: action.icon }), action.label] }) }, `action-table-${index}`))) })] })), jsxRuntime.jsxs("div", { className: `flex-1 flex flex-col rounded-md border ${className}`, children: [jsxRuntime.jsx("div", { className: 'flex items-center justify-between', children: title && jsxRuntime.jsx("div", { className: 'text-h4 p-4', children: title }) }), jsxRuntime.jsx("div", { id: 'data-table', ref: tableContainerRef, style: fixedHeight ? { height: fixedHeight } : { height: tableHeight }, className: 'flex flex-col justify-between rounded-md overflow-x-auto overflow-y-auto', children: jsxRuntime.jsxs(Table, { children: [jsxRuntime.jsx(DataTableHeader, { table: table, canActionsRow: actionsRow && actionsRow.length > 0, enableMultiRowSelection: enableMultiRowSelection }), jsxRuntime.jsx(TableBody, { className: 'bg-background', children: jsxRuntime.jsx(DataTableRows, { table: table, columns: columns, isLoading: isLoading, actionsRow: actionsRow, textNoRecords: textNoRecords, enableMultiRowSelection: enableMultiRowSelection }) })] }) })] }), jsxRuntime.jsx(DataTableFooter, { hidePagination: hidePagination, disablePagination: disablePagination, isLoading: isLoading, totalRows: totalRows, totalPages: totalPages, currentPage: currentPage, pagination: pagination, handlePageSize: handlePageSize, handlePage: handlePage, previousPage: { action: () => table.previousPage(), disabled: !table.getCanPreviousPage() }, nextPage: { action: () => table.nextPage(), disabled: !table.getCanNextPage() }, exportData: exportData })] }));
10572
10572
  }
10573
10573
 
10574
+ const downloadWithServiceWorker = async (urlDownload, fileName) => {
10575
+ try {
10576
+ const response = await fetch(urlDownload);
10577
+ if (!response.ok) {
10578
+ throw new Error('Erro ao fazer o download');
10579
+ }
10580
+ const blob = await response.blob();
10581
+ const url = window.URL.createObjectURL(blob);
10582
+ const a = document.createElement('a');
10583
+ a.href = url;
10584
+ a.download = fileName;
10585
+ document.body.appendChild(a);
10586
+ a.click();
10587
+ document.body.removeChild(a);
10588
+ window.URL.revokeObjectURL(url);
10589
+ }
10590
+ catch (error) {
10591
+ toast({
10592
+ title: 'Erro ao fazer o download',
10593
+ description: error instanceof Error ? error.message : 'Tente novamente mais tarde.',
10594
+ variant: 'destructive',
10595
+ });
10596
+ console.error(error);
10597
+ }
10598
+ };
10599
+
10574
10600
  function isUUIDv4(str) {
10575
10601
  const uuidV4Regex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
10576
10602
  return uuidV4Regex.test(str);
@@ -10870,6 +10896,7 @@ exports.convertInternetToDisplay = convertInternetToDisplay;
10870
10896
  exports.convertMbToGb = convertMbToGb;
10871
10897
  exports.convertMonthToDays = convertMonthToDays;
10872
10898
  exports.convertSecondsToMinutes = convertSecondsToMinutes;
10899
+ exports.downloadWithServiceWorker = downloadWithServiceWorker;
10873
10900
  exports.formHelpText = formHelpText;
10874
10901
  exports.formLabel = formLabel;
10875
10902
  exports.formLabelAndSubLabel = formLabelAndSubLabel;