karsten-design-system 1.0.45 → 1.0.46

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.
@@ -3,8 +3,9 @@ import { useState, useEffect } from 'react';
3
3
  import clsx from 'clsx';
4
4
  import { sortData } from '../../utils/sortData.js';
5
5
  import { Paginator } from './paginator.js';
6
+ import { Spinner } from './spinner.js';
6
7
 
7
- function Table({ columns, data, totalRecords, actions = [], columnStyles = [{}], isOrdered = true, actionsHeaderClassName = '', actionsColumnsClassName = '', rowsPerPage = 10, onPageChange, isPaginated = true, }) {
8
+ function Table({ columns, data, totalRecords, actions = [], columnStyles = [{}], isOrdered = true, actionsHeaderClassName = '', actionsColumnsClassName = '', rowsPerPage = 10, onPageChange, isPaginated = true, isLoading = false }) {
8
9
  const [sortDirection, setSortDirection] = useState('ASC');
9
10
  const [sortedData, setSortedData] = useState(data);
10
11
  const [currentPage, setCurrentPage] = useState(1);
@@ -24,10 +25,10 @@ function Table({ columns, data, totalRecords, actions = [], columnStyles = [{}],
24
25
  useEffect(() => {
25
26
  setSortedData(data);
26
27
  }, [data]);
27
- return (jsxRuntimeExports.jsxs("div", { children: [jsxRuntimeExports.jsxs("table", { className: "w-100", children: [jsxRuntimeExports.jsx("thead", { children: jsxRuntimeExports.jsxs("tr", { className: "bg-gray-100", children: [columns.map((column, idx) => (jsxRuntimeExports.jsxs("th", { className: "bg-primary first:rounded-ss-lg font-bold text-background text-sm uppercase p-2 text-left", onClick: isOrdered ? () => handleSort(column) : undefined, children: [column, isOrdered && (jsxRuntimeExports.jsx("i", { className: "pi pi-sort-alt pl-2 text-xs cursor-pointer", onClick: () => handleSort(column) }))] }, idx))), jsxRuntimeExports.jsx("th", { className: clsx('bg-primary rounded-se-lg font-bold text-background text-sm uppercase p-3 text-right pr-4', actionsHeaderClassName), children: "A\u00C7\u00D5ES" })] }) }), jsxRuntimeExports.jsx("tbody", { children: sortedData.length > 0 ? (sortedData.map((item, index) => (jsxRuntimeExports.jsxs("tr", { className: clsx(index % 2 === 0 ? 'bg-background' : 'bg-[#196ECD0D]', item.className), children: [columns.map((column) => (jsxRuntimeExports.jsx("td", { className: clsx('p-3 text-sm text-left', getCellClassName(column, item[column])), children: item[column] }, `${column}-${index}`))), jsxRuntimeExports.jsx("td", { className: clsx('text-sm text-right flex flex-row justify-end p-3 gap-2', actionsColumnsClassName), children: actions.map((action, idx) => (jsxRuntimeExports.jsx("span", { className: "cursor-pointer", onClick: () => action.onClick(item), title: action.label, children: action.icon }, idx))) })] }, index)))) : (jsxRuntimeExports.jsx("tr", { children: jsxRuntimeExports.jsx("td", { colSpan: columns.length + (actions.length > 0 ? 1 : 0), className: "p-6 text-center text-gray-500 bg-gray-50", children: jsxRuntimeExports.jsxs("div", { className: 'py-2 px-4 rounded-lg font-semibold', children: [jsxRuntimeExports.jsx("i", { className: 'pi pi-database mr-2' }), "N\u00E3o h\u00E1 dados dispon\u00EDveis."] }) }) })) })] }), jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: sortedData.length > 0 && isPaginated && (jsxRuntimeExports.jsx(Paginator, { first: (currentPage - 1) * rowsPerPage, rows: rowsPerPage, totalRecords: totalRecords, onPageChange: (event) => {
28
- setCurrentPage(event.page + 1);
29
- onPageChange(event.page + 1);
30
- } })) })] }));
28
+ return (jsxRuntimeExports.jsxs("div", { children: [jsxRuntimeExports.jsxs("table", { className: "w-100", children: [jsxRuntimeExports.jsx("thead", { children: jsxRuntimeExports.jsxs("tr", { className: "bg-gray-100", children: [columns.map((column, idx) => (jsxRuntimeExports.jsxs("th", { className: "bg-primary first:rounded-ss-lg font-bold text-background text-sm uppercase p-2 text-left", onClick: isOrdered ? () => handleSort(column) : undefined, children: [column, isOrdered && (jsxRuntimeExports.jsx("i", { className: "pi pi-sort-alt pl-2 text-xs cursor-pointer", onClick: () => handleSort(column) }))] }, idx))), jsxRuntimeExports.jsx("th", { className: clsx('bg-primary rounded-se-lg font-bold text-background text-sm uppercase p-3 text-right pr-4', actionsHeaderClassName), children: "A\u00C7\u00D5ES" })] }) }), jsxRuntimeExports.jsx("tbody", { children: isLoading ? (jsxRuntimeExports.jsx("tr", { children: jsxRuntimeExports.jsx("td", { colSpan: columns.length + (actions.length > 0 ? 1 : 0), className: "p-6 text-center bg-gray-50", children: jsxRuntimeExports.jsx("div", { className: "py-2 px-4 flex justify-center items-center gap-2", children: jsxRuntimeExports.jsx(Spinner, { size: "lg" }) }) }) })) : sortedData.length > 0 ? (sortedData.map((item, index) => (jsxRuntimeExports.jsxs("tr", { className: clsx(index % 2 === 0 ? 'bg-background' : 'bg-[#196ECD0D]', item.className), children: [columns.map((column) => (jsxRuntimeExports.jsx("td", { className: clsx('p-3 text-sm text-left', getCellClassName(column, item[column])), children: item[column] }, `${column}-${index}`))), jsxRuntimeExports.jsx("td", { className: clsx('text-sm text-right flex flex-row justify-end p-3 gap-2', actionsColumnsClassName), children: actions.map((action, idx) => (jsxRuntimeExports.jsx("span", { className: "cursor-pointer", onClick: () => action.onClick(item), title: action.label, children: action.icon }, idx))) })] }, index)))) : (jsxRuntimeExports.jsx("tr", { children: jsxRuntimeExports.jsx("td", { colSpan: columns.length + (actions.length > 0 ? 1 : 0), className: "p-6 text-center text-gray-500 bg-gray-50", children: jsxRuntimeExports.jsxs("div", { className: 'py-2 px-4 rounded-lg font-semibold', children: [jsxRuntimeExports.jsx("i", { className: 'pi pi-database mr-2' }), "N\u00E3o h\u00E1 dados dispon\u00EDveis."] }) }) })) })] }), sortedData.length > 0 && isPaginated && (jsxRuntimeExports.jsx(Paginator, { first: (currentPage - 1) * rowsPerPage, rows: rowsPerPage, totalRecords: totalRecords, onPageChange: (event) => {
29
+ setCurrentPage(event.page + 1);
30
+ onPageChange(event.page + 1);
31
+ } }))] }));
31
32
  }
32
33
 
33
34
  export { Table };
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sources":["../../../../src/stories/components/table.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sources":["../../../../src/stories/components/table.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -16,5 +16,6 @@ export type TableProps = {
16
16
  rowsPerPage?: number;
17
17
  onPageChange: (page: number) => void;
18
18
  isPaginated?: boolean;
19
+ isLoading?: boolean;
19
20
  };
20
- export declare function Table({ columns, data, totalRecords, actions, columnStyles, isOrdered, actionsHeaderClassName, actionsColumnsClassName, rowsPerPage, onPageChange, isPaginated, }: TableProps): import("react/jsx-runtime").JSX.Element;
21
+ export declare function Table({ columns, data, totalRecords, actions, columnStyles, isOrdered, actionsHeaderClassName, actionsColumnsClassName, rowsPerPage, onPageChange, isPaginated, isLoading }: TableProps): import("react/jsx-runtime").JSX.Element;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "karsten-design-system",
3
3
  "description": "Karsten Design System Components",
4
- "version": "1.0.45",
4
+ "version": "1.0.46",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",