@anoki/fse-ui 1.0.564 → 1.0.566

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.
Files changed (110) hide show
  1. package/dist/index.cjs219.js +1 -1
  2. package/dist/index.cjs226.js +1 -1
  3. package/dist/index.cjs237.js +1 -1
  4. package/dist/index.cjs244.js +1 -1
  5. package/dist/index.cjs245.js +1 -1
  6. package/dist/index.cjs249.js +1 -1
  7. package/dist/index.cjs254.js +1 -1
  8. package/dist/index.cjs256.js +1 -1
  9. package/dist/index.cjs264.js +1 -1
  10. package/dist/index.cjs303.js +1 -1
  11. package/dist/index.cjs338.js +1 -1
  12. package/dist/index.cjs339.js +1 -1
  13. package/dist/index.cjs342.js +1 -1
  14. package/dist/index.cjs342.js.map +1 -1
  15. package/dist/{index.cjs346.js → index.cjs343.js} +1 -1
  16. package/dist/{index.cjs346.js.map → index.cjs343.js.map} +1 -1
  17. package/dist/{index.cjs347.js → index.cjs344.js} +1 -1
  18. package/dist/{index.cjs347.js.map → index.cjs344.js.map} +1 -1
  19. package/dist/index.cjs345.js +1 -1
  20. package/dist/index.cjs345.js.map +1 -1
  21. package/dist/{index.cjs356.js → index.cjs348.js} +1 -1
  22. package/dist/{index.cjs356.js.map → index.cjs348.js.map} +1 -1
  23. package/dist/{index.cjs357.js → index.cjs349.js} +1 -1
  24. package/dist/{index.cjs357.js.map → index.cjs349.js.map} +1 -1
  25. package/dist/{index.cjs358.js → index.cjs350.js} +1 -1
  26. package/dist/{index.cjs358.js.map → index.cjs350.js.map} +1 -1
  27. package/dist/{index.cjs359.js → index.cjs351.js} +1 -1
  28. package/dist/{index.cjs359.js.map → index.cjs351.js.map} +1 -1
  29. package/dist/{index.cjs360.js → index.cjs352.js} +1 -1
  30. package/dist/{index.cjs360.js.map → index.cjs352.js.map} +1 -1
  31. package/dist/{index.cjs361.js → index.cjs353.js} +1 -1
  32. package/dist/{index.cjs361.js.map → index.cjs353.js.map} +1 -1
  33. package/dist/{index.cjs362.js → index.cjs354.js} +1 -1
  34. package/dist/{index.cjs362.js.map → index.cjs354.js.map} +1 -1
  35. package/dist/index.cjs375.js +1 -1
  36. package/dist/index.cjs377.js +1 -1
  37. package/dist/index.cjs394.js +1 -1
  38. package/dist/index.cjs396.js +1 -1
  39. package/dist/index.cjs398.js +1 -1
  40. package/dist/index.cjs411.js +38 -1
  41. package/dist/index.cjs411.js.map +1 -1
  42. package/dist/index.cjs412.js +1 -38
  43. package/dist/index.cjs412.js.map +1 -1
  44. package/dist/index.cjs413.js +1 -1
  45. package/dist/index.cjs413.js.map +1 -1
  46. package/dist/index.cjs414.js +1 -1
  47. package/dist/index.cjs414.js.map +1 -1
  48. package/dist/index.cjs415.js +1 -1
  49. package/dist/index.cjs415.js.map +1 -1
  50. package/dist/index.cjs58.js +1 -1
  51. package/dist/index.cjs58.js.map +1 -1
  52. package/dist/index.cjs65.js +1 -1
  53. package/dist/index.cjs65.js.map +1 -1
  54. package/dist/index.d.ts +12 -6
  55. package/dist/index.es219.js +1 -1
  56. package/dist/index.es226.js +3 -3
  57. package/dist/index.es237.js +8 -8
  58. package/dist/index.es244.js +1 -1
  59. package/dist/index.es245.js +1 -1
  60. package/dist/index.es249.js +1 -1
  61. package/dist/index.es254.js +1 -1
  62. package/dist/index.es256.js +1 -1
  63. package/dist/index.es264.js +2 -2
  64. package/dist/index.es303.js +1 -1
  65. package/dist/index.es338.js +1 -1
  66. package/dist/index.es339.js +8 -8
  67. package/dist/index.es342.js +6 -15
  68. package/dist/index.es342.js.map +1 -1
  69. package/dist/{index.es346.js → index.es343.js} +1 -1
  70. package/dist/{index.es346.js.map → index.es343.js.map} +1 -1
  71. package/dist/{index.es347.js → index.es344.js} +1 -1
  72. package/dist/{index.es347.js.map → index.es344.js.map} +1 -1
  73. package/dist/index.es345.js +15 -6
  74. package/dist/index.es345.js.map +1 -1
  75. package/dist/{index.es356.js → index.es348.js} +1 -1
  76. package/dist/{index.es356.js.map → index.es348.js.map} +1 -1
  77. package/dist/{index.es357.js → index.es349.js} +1 -1
  78. package/dist/{index.es357.js.map → index.es349.js.map} +1 -1
  79. package/dist/{index.es358.js → index.es350.js} +1 -1
  80. package/dist/{index.es358.js.map → index.es350.js.map} +1 -1
  81. package/dist/{index.es359.js → index.es351.js} +1 -1
  82. package/dist/{index.es359.js.map → index.es351.js.map} +1 -1
  83. package/dist/{index.es360.js → index.es352.js} +1 -1
  84. package/dist/{index.es360.js.map → index.es352.js.map} +1 -1
  85. package/dist/{index.es361.js → index.es353.js} +1 -1
  86. package/dist/{index.es361.js.map → index.es353.js.map} +1 -1
  87. package/dist/{index.es362.js → index.es354.js} +1 -1
  88. package/dist/{index.es362.js.map → index.es354.js.map} +1 -1
  89. package/dist/index.es375.js +1 -1
  90. package/dist/index.es377.js +1 -1
  91. package/dist/index.es394.js +1 -1
  92. package/dist/index.es396.js +1 -1
  93. package/dist/index.es398.js +4 -4
  94. package/dist/index.es411.js +69 -65
  95. package/dist/index.es411.js.map +1 -1
  96. package/dist/index.es412.js +8 -68
  97. package/dist/index.es412.js.map +1 -1
  98. package/dist/index.es413.js +14 -9
  99. package/dist/index.es413.js.map +1 -1
  100. package/dist/index.es414.js +62 -14
  101. package/dist/index.es414.js.map +1 -1
  102. package/dist/index.es415.js +64 -61
  103. package/dist/index.es415.js.map +1 -1
  104. package/dist/index.es58.js +3 -2
  105. package/dist/index.es58.js.map +1 -1
  106. package/dist/index.es65.js +220 -176
  107. package/dist/index.es65.js.map +1 -1
  108. package/package.json +1 -1
  109. /package/dist/components/ui/{DoctorConfirmModal/DoctorConfirmModalContent/DoctorConfirmModalContent.css → ConsentModal/ConsentModalContent/ConsentModalContent.css} +0 -0
  110. /package/dist/components/ui/{DoctorModal/DoctorModalFooter/DoctorModalFooter.css → ConsentModal/ConsentModalFooter/ConsentModalFooter.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.es65.js","sources":["../src/components/ui/Table/index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport clsx from \"clsx\";\nimport \"./Table.scss\";\nimport { Download, Info, TriangleDown, TriangleUp } from \"@/icons\";\nimport { ActionIconText } from \"../ActionIconText\";\nimport { CommonIconsType } from \"@/types/icons\";\nimport { InfoPopupProps } from \"../InfoPopup\";\nimport { useEffect } from \"react\";\n\n// per le celle che vanno renderizzate su due righe\nexport interface DoubleLineData {\n firstLine: string;\n secondLine: string;\n}\n\n//per le celle che renderizzano un link o un bottone\nexport interface ActionData {\n label: string | React.ReactNode;\n ariaLabel: string;\n type: \"link\" | \"button\";\n link?: string;\n action?: () => void;\n}\n\nexport interface ColumnConfig {\n label: string;\n ariaLabel: string;\n sortable: boolean;\n action?: () => void;\n iconAction?: () => void;\n popupInfo?: InfoPopupProps;\n icon?: React.ReactNode | CommonIconsType;\n iconPosition?: \"left\" | \"right\";\n key?: string;\n type?: \"string\" | \"date\" | \"number\";\n}\n\nexport interface TableRowData {\n [key: string]: string | DoubleLineData | ActionData;\n}\n\nexport interface TableHeaderProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableBodyProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableRowProps\n extends React.HTMLAttributes<HTMLTableRowElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableHeadProps\n extends React.ThHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableCellBaseProps\n extends Omit<React.TdHTMLAttributes<HTMLTableCellElement>, \"content\"> {\n type?: \"double-line\" | \"action\";\n}\n\nexport interface TableCellProps extends TableCellBaseProps {\n content: string | DoubleLineData | ActionData;\n}\n\nexport interface PaginationProps {\n currentPage: number;\n totalResults: number;\n resultsPerPage: number;\n setCurrentPage: (page: number) => void;\n onPageChange?: (page: number) => void;\n isServerSide?: boolean;\n isLoading?: boolean;\n className?: string;\n}\n\nexport interface TableProps\n extends React.TableHTMLAttributes<HTMLTableElement> {\n className?: string;\n columns: ColumnConfig[];\n data: TableRowData[];\n pagination?: boolean;\n initialCurrentPage?: number;\n resultsPerPage?: number;\n defaultSortDirection?: \"asc\" | \"desc\";\n setSelectedSort?: (sortConfig: {\n key: string;\n direction: \"asc\" | \"desc\";\n }) => void;\n initialSortConfig?: { key: string; direction: \"asc\" | \"desc\" };\n isServerSide?: boolean;\n onPageChange?: (page: number) => void;\n totalServerItems?: number;\n isLoading?: boolean;\n}\n\nconst Table = React.forwardRef<HTMLTableElement, TableProps>(\n (\n {\n className,\n columns,\n data,\n pagination,\n initialCurrentPage = 1,\n resultsPerPage = 10,\n defaultSortDirection = \"desc\",\n setSelectedSort,\n initialSortConfig,\n ...props\n },\n ref,\n ) => {\n const [sortConfig, setSortConfig] = React.useState<{\n key: string;\n direction: \"asc\" | \"desc\";\n }>(\n initialSortConfig || {\n key: columns[0].key || columns[0].label,\n direction: defaultSortDirection,\n },\n );\n const [currentPage, setCurrentPage] = React.useState(initialCurrentPage);\n\n useEffect(() => {\n if (initialSortConfig) {\n setSortConfig(initialSortConfig);\n }\n }, [initialSortConfig]);\n\n const sortedData = React.useMemo(() => {\n return [...data].sort((a, b) => {\n const aValue = a[sortConfig.key];\n const bValue = b[sortConfig.key];\n const column = columns.find(\n (col) => (col.key || col.label) === sortConfig.key,\n );\n\n if (typeof aValue === \"string\" && typeof bValue === \"string\") {\n if (column?.type === \"date\") {\n // Convert Italian date format (DD/MM/YYYY - HH:mm) to Date object\n const parseDate = (dateStr: string) => {\n const [datePart, timePart] = dateStr.split(\" - \");\n const [day, month, year] = datePart.split(\"/\").map(Number);\n const [hours, minutes] = timePart.split(\":\").map(Number);\n return new Date(year, month - 1, day, hours, minutes);\n };\n\n const dateA = parseDate(aValue);\n const dateB = parseDate(bValue);\n return sortConfig.direction === \"asc\"\n ? dateA.getTime() - dateB.getTime()\n : dateB.getTime() - dateA.getTime();\n }\n\n if (column?.type === \"number\") {\n const numA = parseFloat(aValue);\n const numB = parseFloat(bValue);\n return sortConfig.direction === \"asc\" ? numA - numB : numB - numA;\n }\n\n return sortConfig.direction === \"asc\"\n ? aValue.localeCompare(bValue)\n : bValue.localeCompare(aValue);\n }\n\n if (isDoubleLineData(aValue) && isDoubleLineData(bValue)) {\n return sortConfig.direction === \"asc\"\n ? aValue.firstLine.localeCompare(bValue.firstLine)\n : bValue.firstLine.localeCompare(aValue.firstLine);\n }\n\n return 0;\n });\n }, [data, sortConfig, columns]);\n\n const handleSort = (columnKey: string) => {\n const newSortConfig = {\n key: columnKey,\n direction:\n sortConfig.key === columnKey && sortConfig.direction === \"asc\"\n ? \"desc\"\n : \"asc\",\n } as { key: string; direction: \"asc\" | \"desc\" };\n\n setSortConfig(newSortConfig);\n if (setSelectedSort) {\n setSelectedSort(newSortConfig);\n }\n };\n\n const startIndex = pagination ? (currentPage - 1) * resultsPerPage : 0;\n const endIndex = pagination\n ? Math.min(startIndex + resultsPerPage, sortedData.length)\n : sortedData.length;\n const currentPageData = sortedData.slice(startIndex, endIndex);\n\n return (\n <div className=\"position-relative w-full\">\n <table\n ref={ref}\n className={clsx(\"table\", className)}\n role=\"table\"\n {...props}\n >\n <TableHeader className=\"table__header\">\n <TableRow>\n {columns.map((column, index) => (\n <TableHead\n key={`${column.label}-${index}`}\n config={column}\n sortConfig={sortConfig}\n onSort={() =>\n column.sortable && handleSort(column.key || column.label)\n }\n />\n ))}\n </TableRow>\n </TableHeader>\n <TableBody className=\"table__body\">\n {currentPageData.map((row, rowIndex) => (\n <TableRow key={rowIndex} className=\"table__row\">\n {Object.entries(row).map(([key, value], cellIndex) => {\n if (!value) return null;\n\n if (key === \"actionData\" && isActionData(value)) {\n return (\n <TableCell\n key={`${key}-${cellIndex}`}\n content={value}\n type=\"action\"\n />\n );\n }\n if (isDoubleLineData(value)) {\n return (\n <TableCell\n key={`${key}-${cellIndex}`}\n content={value}\n type=\"double-line\"\n />\n );\n }\n if (typeof value === \"string\") {\n return (\n <TableCell key={`${key}-${cellIndex}`} content={value} />\n );\n }\n return null;\n })}\n </TableRow>\n ))}\n </TableBody>\n </table>\n {pagination && (\n <Pagination\n currentPage={currentPage}\n totalResults={\n props.isServerSide && props.totalServerItems !== undefined\n ? props.totalServerItems\n : sortedData.length\n }\n resultsPerPage={resultsPerPage}\n setCurrentPage={setCurrentPage}\n onPageChange={props.onPageChange}\n isServerSide={props.isServerSide}\n isLoading={props.isLoading}\n />\n )}\n </div>\n );\n },\n);\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, TableHeaderProps>(\n ({ className, children, ...props }, ref) => (\n <thead\n ref={ref}\n className={clsx(\"[&_tr]:border-b-0\", className)}\n {...props}\n >\n {children}\n </thead>\n ),\n);\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps>(\n ({ className, children, ...props }, ref) => (\n <tbody\n ref={ref}\n className={clsx(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n >\n {children}\n </tbody>\n ),\n);\nTableBody.displayName = \"TableBody\";\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, TableRowProps>(\n ({ className, children, ...props }, ref) => (\n <tr\n ref={ref}\n className={clsx(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className,\n )}\n {...props}\n >\n {children}\n </tr>\n ),\n);\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n TableHeadProps & {\n config: ColumnConfig;\n sortConfig: { key: string; direction: \"asc\" | \"desc\" };\n onSort?: () => void;\n }\n>(({ className, config, sortConfig, onSort, ...props }, ref) => {\n const isSorted = sortConfig.key === (config.key || config.label);\n const sortDirection = isSorted ? sortConfig.direction : null;\n\n const getAriaSortValue = (): \"ascending\" | \"descending\" => {\n return sortDirection === \"asc\" ? \"ascending\" : \"descending\";\n };\n\n const renderIcon = (icon: React.ReactNode | CommonIconsType) => {\n switch (icon) {\n case \"info\":\n return <Info />;\n case \"download\":\n return <Download />;\n default:\n return icon;\n }\n };\n\n return (\n <th\n ref={ref}\n className={clsx(\n \"table__cell table__cell--header\",\n {\n \"table__cell--sortable\": config.sortable,\n \"table__cell--action\": config.action,\n },\n className,\n )}\n onClick={config.sortable ? onSort : config.action}\n aria-label={config.ariaLabel}\n aria-sort={isSorted ? getAriaSortValue() : undefined}\n {...props}\n >\n <div className=\"table__cell--header--content\">\n <div>\n <ActionIconText\n icon={renderIcon(config.icon)}\n textLabel={config.label}\n iconPosition={config.iconPosition}\n handleIconAction={() => {\n config.iconAction;\n }}\n popupInfo={config.popupInfo}\n positionPopUp={config.popupInfo?.positionPopUp}\n />\n </div>\n {config.sortable && (\n <span className=\"sort-indicator\">\n <TriangleUp\n filled={isSorted && sortDirection === \"desc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"desc\",\n })}\n />\n <TriangleDown\n filled={isSorted && sortDirection === \"asc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"asc\",\n })}\n />\n </span>\n )}\n </div>\n </th>\n );\n});\nTableHead.displayName = \"TableHead\";\n\nconst DoubleLineContent: React.FC<{ data: DoubleLineData }> = ({ data }) => (\n <>\n <div className=\"table__cell--firstLine\">{data.firstLine}</div>\n <div className=\"table__cell--secondLine\">{data.secondLine}</div>\n </>\n);\n\nconst ActionContent: React.FC<{ data: ActionData }> = ({ data }) => {\n if (data.type === \"link\" && data.link) {\n return (\n <a href={data.link} aria-label={data.ariaLabel}>\n {data.label}\n </a>\n );\n }\n return (\n <button onClick={data.action} aria-label={data.ariaLabel}>\n {data.label}\n </button>\n );\n};\n\n// check if we are rendering a double line data\nconst isDoubleLineData = (\n content: TableCellProps[\"content\"],\n): content is DoubleLineData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"firstLine\" in content &&\n \"secondLine\" in content\n );\n};\n\n// check if we are rendering an action data\nconst isActionData = (\n content: TableCellProps[\"content\"],\n): content is ActionData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"label\" in content &&\n \"type\" in content\n );\n};\n\nconst TableCellContent: React.FC<{ content: TableCellProps[\"content\"] }> = ({\n content,\n}) => {\n if (typeof content === \"string\") {\n return <>{content}</>;\n }\n if (isDoubleLineData(content)) {\n return <DoubleLineContent data={content} />;\n }\n if (isActionData(content)) {\n return <ActionContent data={content} />;\n }\n return null;\n};\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, content, type, ...props }, ref) => (\n <td\n ref={ref}\n className={clsx(\n \"table__cell\",\n {\n \"table__cell--double-line\": type === \"double-line\",\n \"table__cell--action\": type === \"action\",\n },\n className,\n )}\n {...props}\n >\n <TableCellContent content={content} />\n </td>\n ),\n);\nTableCell.displayName = \"TableCell\";\n\nconst Pagination: React.FC<PaginationProps> = ({\n currentPage = 1,\n totalResults,\n resultsPerPage,\n setCurrentPage,\n onPageChange,\n isServerSide = false,\n isLoading = false,\n className,\n}) => {\n const totalPages = Math.ceil(totalResults / resultsPerPage);\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n if (isServerSide && onPageChange) {\n onPageChange(page);\n }\n };\n return (\n <div className={clsx(\"pagination\", className)}>\n <div className=\"pagination__info\">\n Stai visualizzando{\" \"}\n <span className=\"pagination__info__resultsPerPage\">\n {resultsPerPage}\n </span>{\" \"}\n di {totalResults} risultati\n </div>\n <div className=\"pagination__nav\">\n <button\n className={clsx(\n \"pagination__button\",\n (currentPage === 1 || isLoading) && \"pagination__button--disabled\",\n )}\n onClick={() => handlePageChange(currentPage - 1)}\n disabled={currentPage === 1 || isLoading}\n aria-label=\"Previous page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M15 18l-6-6 6-6\" />\n </svg>\n </button>\n {Array.from({ length: totalPages }, (_, i) => i + 1).map((page) => (\n <button\n key={page}\n className={clsx(\n \"pagination__button\",\n currentPage === page && \"pagination__button--active\",\n isLoading && \"pagination__button--disabled\",\n )}\n onClick={() => handlePageChange(page)}\n disabled={isLoading}\n >\n {page}\n </button>\n ))}\n <button\n className={clsx(\n \"pagination__button\",\n (currentPage === totalPages || isLoading) &&\n \"pagination__button--disabled\",\n )}\n onClick={() => handlePageChange(currentPage + 1)}\n disabled={currentPage === totalPages || isLoading}\n aria-label=\"Next page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M9 6l6 6-6 6\" />\n </svg>\n </button>\n </div>\n </div>\n );\n};\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableHead,\n TableRow,\n TableCell,\n Pagination,\n};\n"],"names":["Table","React","className","columns","data","pagination","initialCurrentPage","resultsPerPage","defaultSortDirection","setSelectedSort","initialSortConfig","props","ref","sortConfig","setSortConfig","currentPage","setCurrentPage","useEffect","sortedData","a","b","aValue","bValue","column","col","parseDate","dateStr","datePart","timePart","day","month","year","hours","minutes","dateA","dateB","numA","numB","isDoubleLineData","handleSort","columnKey","newSortConfig","startIndex","endIndex","currentPageData","jsxs","clsx","jsx","TableHeader","TableRow","index","TableHead","TableBody","row","rowIndex","key","value","cellIndex","isActionData","TableCell","Pagination","children","config","onSort","isSorted","sortDirection","getAriaSortValue","renderIcon","icon","Info","Download","ActionIconText","_a","TriangleUp","TriangleDown","DoubleLineContent","Fragment","ActionContent","content","TableCellContent","type","totalResults","onPageChange","isServerSide","isLoading","totalPages","handlePageChange","page","_"],"mappings":"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"}
1
+ {"version":3,"file":"index.es65.js","sources":["../src/components/ui/Table/index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport clsx from \"clsx\";\nimport \"./Table.scss\";\nimport { Download, Info, TriangleDown, TriangleUp } from \"@/icons\";\nimport { ActionIconText } from \"../ActionIconText\";\nimport { CommonIconsType } from \"@/types/icons\";\nimport { InfoPopupProps } from \"../InfoPopup\";\nimport { useEffect } from \"react\";\n\n// per le celle che vanno renderizzate su due righe\nexport interface DoubleLineData {\n firstLine: string;\n secondLine: string;\n}\n\n//per le celle che renderizzano un link o un bottone\nexport interface ActionData {\n label: string | React.ReactNode;\n ariaLabel: string;\n type: \"link\" | \"button\";\n link?: string;\n action?: () => void;\n}\n\nexport interface ColumnConfig {\n label: string;\n ariaLabel: string;\n sortable: boolean;\n action?: () => void;\n iconAction?: () => void;\n popupInfo?: InfoPopupProps;\n icon?: React.ReactNode | CommonIconsType;\n iconPosition?: \"left\" | \"right\";\n key?: string;\n type?: \"string\" | \"date\" | \"number\";\n}\n\nexport interface TableRowData {\n [key: string]: string | DoubleLineData | ActionData;\n}\n\nexport interface TableHeaderProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableBodyProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableRowProps\n extends React.HTMLAttributes<HTMLTableRowElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableHeadProps\n extends React.ThHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableCellBaseProps\n extends Omit<React.TdHTMLAttributes<HTMLTableCellElement>, \"content\"> {\n type?: \"double-line\" | \"action\";\n}\n\nexport interface TableCellProps extends TableCellBaseProps {\n content: string | DoubleLineData | ActionData;\n}\n\nexport interface PaginationProps {\n currentPage: number;\n totalResults: number;\n resultsPerPage: number;\n setCurrentPage: (page: number) => void;\n onPageChange?: (page: number) => void;\n className?: string;\n serverSide?: boolean;\n totalItems?: number;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n onNextPage?: () => void;\n onPreviousPage?: () => void;\n}\n\nexport interface TableProps\n extends React.TableHTMLAttributes<HTMLTableElement> {\n className?: string;\n columns: ColumnConfig[];\n data: TableRowData[];\n pagination?: boolean;\n initialCurrentPage?: number;\n resultsPerPage?: number;\n defaultSortDirection?: \"asc\" | \"desc\";\n setSelectedSort?: (sortConfig: {\n key: string;\n direction: \"asc\" | \"desc\";\n }) => void;\n initialSortConfig?: { key: string; direction: \"asc\" | \"desc\" };\n serverSidePagination?: boolean;\n totalItems?: number;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n onNextPage?: () => void;\n onPreviousPage?: () => void;\n}\n\nconst Table = React.forwardRef<HTMLTableElement, TableProps>(\n (\n {\n className,\n columns,\n data,\n pagination,\n initialCurrentPage = 1,\n resultsPerPage = 10,\n defaultSortDirection = \"desc\",\n setSelectedSort,\n initialSortConfig,\n serverSidePagination = false,\n totalItems,\n hasNextPage,\n hasPreviousPage,\n onNextPage,\n onPreviousPage,\n ...props\n },\n ref,\n ) => {\n const [sortConfig, setSortConfig] = React.useState<{\n key: string;\n direction: \"asc\" | \"desc\";\n }>(\n initialSortConfig || {\n key: columns[0].key || columns[0].label,\n direction: defaultSortDirection,\n },\n );\n const [currentPage, setCurrentPage] = React.useState(initialCurrentPage);\n\n useEffect(() => {\n if (initialSortConfig) {\n setSortConfig(initialSortConfig);\n }\n }, [initialSortConfig]);\n\n const sortedData = React.useMemo(() => {\n return [...data].sort((a, b) => {\n const aValue = a[sortConfig.key];\n const bValue = b[sortConfig.key];\n const column = columns.find(\n (col) => (col.key || col.label) === sortConfig.key,\n );\n\n if (typeof aValue === \"string\" && typeof bValue === \"string\") {\n if (column?.type === \"date\") {\n // Convert Italian date format (DD/MM/YYYY - HH:mm) to Date object\n const parseDate = (dateStr: string) => {\n const [datePart, timePart] = dateStr.split(\" - \");\n const [day, month, year] = datePart.split(\"/\").map(Number);\n const [hours, minutes] = timePart.split(\":\").map(Number);\n return new Date(year, month - 1, day, hours, minutes);\n };\n\n const dateA = parseDate(aValue);\n const dateB = parseDate(bValue);\n return sortConfig.direction === \"asc\"\n ? dateA.getTime() - dateB.getTime()\n : dateB.getTime() - dateA.getTime();\n }\n\n if (column?.type === \"number\") {\n const numA = parseFloat(aValue);\n const numB = parseFloat(bValue);\n return sortConfig.direction === \"asc\" ? numA - numB : numB - numA;\n }\n\n return sortConfig.direction === \"asc\"\n ? aValue.localeCompare(bValue)\n : bValue.localeCompare(aValue);\n }\n\n if (isDoubleLineData(aValue) && isDoubleLineData(bValue)) {\n return sortConfig.direction === \"asc\"\n ? aValue.firstLine.localeCompare(bValue.firstLine)\n : bValue.firstLine.localeCompare(aValue.firstLine);\n }\n\n return 0;\n });\n }, [data, sortConfig, columns]);\n\n const handleSort = (columnKey: string) => {\n const newSortConfig = {\n key: columnKey,\n direction:\n sortConfig.key === columnKey && sortConfig.direction === \"asc\"\n ? \"desc\"\n : \"asc\",\n } as { key: string; direction: \"asc\" | \"desc\" };\n\n setSortConfig(newSortConfig);\n if (setSelectedSort) {\n setSelectedSort(newSortConfig);\n }\n };\n\n const startIndex =\n pagination && !serverSidePagination\n ? (currentPage - 1) * resultsPerPage\n : 0;\n const endIndex =\n pagination && !serverSidePagination\n ? Math.min(startIndex + resultsPerPage, sortedData.length)\n : sortedData.length;\n const currentPageData = serverSidePagination\n ? sortedData\n : sortedData.slice(startIndex, endIndex);\n\n return (\n <div className=\"position-relative w-full\">\n <table\n ref={ref}\n className={clsx(\"table\", className)}\n role=\"table\"\n {...props}\n >\n <TableHeader className=\"table__header\">\n <TableRow>\n {columns.map((column, index) => (\n <TableHead\n key={`${column.label}-${index}`}\n config={column}\n sortConfig={sortConfig}\n onSort={() =>\n column.sortable && handleSort(column.key || column.label)\n }\n />\n ))}\n </TableRow>\n </TableHeader>\n <TableBody className=\"table__body\">\n {currentPageData.map((row, rowIndex) => (\n <TableRow key={rowIndex} className=\"table__row\">\n {Object.entries(row).map(([key, value], cellIndex) => {\n if (!value) return null;\n\n if (key === \"actionData\" && isActionData(value)) {\n return (\n <TableCell\n key={`${key}-${cellIndex}`}\n content={value}\n type=\"action\"\n />\n );\n }\n if (isDoubleLineData(value)) {\n return (\n <TableCell\n key={`${key}-${cellIndex}`}\n content={value}\n type=\"double-line\"\n />\n );\n }\n if (typeof value === \"string\") {\n return (\n <TableCell key={`${key}-${cellIndex}`} content={value} />\n );\n }\n return null;\n })}\n </TableRow>\n ))}\n </TableBody>\n </table>\n {pagination && (\n <Pagination\n currentPage={currentPage}\n totalResults={\n serverSidePagination ? totalItems || 0 : sortedData.length\n }\n resultsPerPage={resultsPerPage}\n setCurrentPage={setCurrentPage}\n serverSide={serverSidePagination}\n totalItems={totalItems}\n hasNextPage={hasNextPage}\n hasPreviousPage={hasPreviousPage}\n onNextPage={onNextPage}\n onPreviousPage={onPreviousPage}\n />\n )}\n </div>\n );\n },\n);\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, TableHeaderProps>(\n ({ className, children, ...props }, ref) => (\n <thead\n ref={ref}\n className={clsx(\"[&_tr]:border-b-0\", className)}\n {...props}\n >\n {children}\n </thead>\n ),\n);\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps>(\n ({ className, children, ...props }, ref) => (\n <tbody\n ref={ref}\n className={clsx(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n >\n {children}\n </tbody>\n ),\n);\nTableBody.displayName = \"TableBody\";\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, TableRowProps>(\n ({ className, children, ...props }, ref) => (\n <tr\n ref={ref}\n className={clsx(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className,\n )}\n {...props}\n >\n {children}\n </tr>\n ),\n);\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n TableHeadProps & {\n config: ColumnConfig;\n sortConfig: { key: string; direction: \"asc\" | \"desc\" };\n onSort?: () => void;\n }\n>(({ className, config, sortConfig, onSort, ...props }, ref) => {\n const isSorted = sortConfig.key === (config.key || config.label);\n const sortDirection = isSorted ? sortConfig.direction : null;\n\n const getAriaSortValue = (): \"ascending\" | \"descending\" => {\n return sortDirection === \"asc\" ? \"ascending\" : \"descending\";\n };\n\n const renderIcon = (icon: React.ReactNode | CommonIconsType) => {\n switch (icon) {\n case \"info\":\n return <Info />;\n case \"download\":\n return <Download />;\n default:\n return icon;\n }\n };\n\n return (\n <th\n ref={ref}\n className={clsx(\n \"table__cell table__cell--header\",\n {\n \"table__cell--sortable\": config.sortable,\n \"table__cell--action\": config.action,\n },\n className,\n )}\n onClick={config.sortable ? onSort : config.action}\n aria-label={config.ariaLabel}\n aria-sort={isSorted ? getAriaSortValue() : undefined}\n {...props}\n >\n <div className=\"table__cell--header--content\">\n <div>\n <ActionIconText\n icon={renderIcon(config.icon)}\n textLabel={config.label}\n iconPosition={config.iconPosition}\n handleIconAction={() => {\n config.iconAction;\n }}\n popupInfo={config.popupInfo}\n positionPopUp={config.popupInfo?.positionPopUp}\n />\n </div>\n {config.sortable && (\n <span className=\"sort-indicator\">\n <TriangleUp\n filled={isSorted && sortDirection === \"desc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"desc\",\n })}\n />\n <TriangleDown\n filled={isSorted && sortDirection === \"asc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"asc\",\n })}\n />\n </span>\n )}\n </div>\n </th>\n );\n});\nTableHead.displayName = \"TableHead\";\n\nconst DoubleLineContent: React.FC<{ data: DoubleLineData }> = ({ data }) => (\n <>\n <div className=\"table__cell--firstLine\">{data.firstLine}</div>\n <div className=\"table__cell--secondLine\">{data.secondLine}</div>\n </>\n);\n\nconst ActionContent: React.FC<{ data: ActionData }> = ({ data }) => {\n if (data.type === \"link\" && data.link) {\n return (\n <a href={data.link} aria-label={data.ariaLabel}>\n {data.label}\n </a>\n );\n }\n return (\n <button onClick={data.action} aria-label={data.ariaLabel}>\n {data.label}\n </button>\n );\n};\n\n// check if we are rendering a double line data\nconst isDoubleLineData = (\n content: TableCellProps[\"content\"],\n): content is DoubleLineData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"firstLine\" in content &&\n \"secondLine\" in content\n );\n};\n\n// check if we are rendering an action data\nconst isActionData = (\n content: TableCellProps[\"content\"],\n): content is ActionData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"label\" in content &&\n \"type\" in content\n );\n};\n\nconst TableCellContent: React.FC<{ content: TableCellProps[\"content\"] }> = ({\n content,\n}) => {\n if (typeof content === \"string\") {\n return <>{content}</>;\n }\n if (isDoubleLineData(content)) {\n return <DoubleLineContent data={content} />;\n }\n if (isActionData(content)) {\n return <ActionContent data={content} />;\n }\n return null;\n};\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, content, type, ...props }, ref) => (\n <td\n ref={ref}\n className={clsx(\n \"table__cell\",\n {\n \"table__cell--double-line\": type === \"double-line\",\n \"table__cell--action\": type === \"action\",\n },\n className,\n )}\n {...props}\n >\n <TableCellContent content={content} />\n </td>\n ),\n);\nTableCell.displayName = \"TableCell\";\n\nconst Pagination: React.FC<PaginationProps> = ({\n currentPage = 1,\n totalResults,\n resultsPerPage,\n setCurrentPage,\n className,\n serverSide = false,\n totalItems,\n hasNextPage,\n hasPreviousPage,\n onNextPage,\n onPreviousPage,\n}) => {\n const totalPages = serverSide\n ? Math.ceil((totalItems || totalResults) / resultsPerPage)\n : Math.ceil(totalResults / resultsPerPage);\n\n const handleNextPage = () => {\n if (serverSide && onNextPage) {\n onNextPage();\n } else {\n setCurrentPage(currentPage + 1);\n }\n };\n\n const handlePreviousPage = () => {\n if (serverSide && onPreviousPage) {\n onPreviousPage();\n } else {\n setCurrentPage(currentPage - 1);\n }\n };\n\n const isNextDisabled = serverSide ? !hasNextPage : currentPage === totalPages;\n const isPrevDisabled = serverSide ? !hasPreviousPage : currentPage === 1;\n\n return (\n <div className={clsx(\"pagination\", className)}>\n <div className=\"pagination__info\">\n Stai visualizzando{\" \"}\n <span className=\"pagination__info__resultsPerPage\">\n {resultsPerPage}\n </span>{\" \"}\n di {serverSide ? totalItems || totalResults : totalResults} risultati\n </div>\n {!serverSide && (\n <div className=\"pagination__nav\">\n <button\n className={clsx(\n \"pagination__button\",\n isPrevDisabled && \"pagination__button--disabled\",\n )}\n onClick={handlePreviousPage}\n disabled={isPrevDisabled}\n aria-label=\"Previous page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M15 18l-6-6 6-6\" />\n </svg>\n </button>\n {Array.from({ length: totalPages }, (_, i) => i + 1).map((page) => (\n <button\n key={page}\n className={clsx(\n \"pagination__button\",\n currentPage === page && \"pagination__button--active\",\n )}\n onClick={() => setCurrentPage(page)}\n >\n {page}\n </button>\n ))}\n <button\n className={clsx(\n \"pagination__button\",\n isNextDisabled && \"pagination__button--disabled\",\n )}\n onClick={handleNextPage}\n disabled={isNextDisabled}\n aria-label=\"Next page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M9 6l6 6-6 6\" />\n </svg>\n </button>\n </div>\n )}\n {serverSide && (\n <div className=\"pagination__nav\">\n <button\n className={clsx(\n \"pagination__button\",\n isPrevDisabled && \"pagination__button--disabled\",\n )}\n onClick={handlePreviousPage}\n disabled={isPrevDisabled}\n aria-label=\"Previous page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M15 18l-6-6 6-6\" />\n </svg>\n </button>\n <div className=\"pagination__page-indicator\">Pagina {currentPage}</div>\n <button\n className={clsx(\n \"pagination__button\",\n isNextDisabled && \"pagination__button--disabled\",\n )}\n onClick={handleNextPage}\n disabled={isNextDisabled}\n aria-label=\"Next page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M9 6l6 6-6 6\" />\n </svg>\n </button>\n </div>\n )}\n </div>\n );\n};\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableHead,\n TableRow,\n TableCell,\n Pagination,\n};\n"],"names":["Table","React","className","columns","data","pagination","initialCurrentPage","resultsPerPage","defaultSortDirection","setSelectedSort","initialSortConfig","serverSidePagination","totalItems","hasNextPage","hasPreviousPage","onNextPage","onPreviousPage","props","ref","sortConfig","setSortConfig","currentPage","setCurrentPage","useEffect","sortedData","a","b","aValue","bValue","column","col","parseDate","dateStr","datePart","timePart","day","month","year","hours","minutes","dateA","dateB","numA","numB","isDoubleLineData","handleSort","columnKey","newSortConfig","startIndex","endIndex","currentPageData","jsxs","clsx","jsx","TableHeader","TableRow","index","TableHead","TableBody","row","rowIndex","key","value","cellIndex","isActionData","TableCell","Pagination","children","config","onSort","isSorted","sortDirection","getAriaSortValue","renderIcon","icon","Info","Download","ActionIconText","_a","TriangleUp","TriangleDown","DoubleLineContent","Fragment","ActionContent","content","TableCellContent","type","totalResults","serverSide","totalPages","handleNextPage","handlePreviousPage","isNextDisabled","isPrevDisabled","_","i","page"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anoki/fse-ui",
3
- "version": "1.0.564",
3
+ "version": "1.0.566",
4
4
  "description": "FSE UI components library",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs.js",