@orangesix/react 1.2.2 → 1.3.3

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 (76) hide show
  1. package/api/index.d.ts +46 -2
  2. package/autocomplete/index.cjs.js +1 -1
  3. package/autocomplete/index.cjs.js.map +1 -1
  4. package/autocomplete/index.d.ts +12 -1
  5. package/autocomplete/index.esm.js +1 -1
  6. package/autocomplete/index.esm.js.map +1 -1
  7. package/button/_button.scss +56 -0
  8. package/button/index.cjs.js +2 -0
  9. package/button/index.cjs.js.map +1 -0
  10. package/button/index.d.ts +109 -0
  11. package/button/index.esm.js +2 -0
  12. package/button/index.esm.js.map +1 -0
  13. package/button/package.json +5 -0
  14. package/editor/index.d.ts +5 -0
  15. package/input/index.cjs.js +1 -1
  16. package/input/index.cjs.js.map +1 -1
  17. package/input/index.d.ts +44 -1
  18. package/input/index.esm.js +1 -1
  19. package/input/index.esm.js.map +1 -1
  20. package/inputfilter/index.cjs.js +1 -1
  21. package/inputfilter/index.cjs.js.map +1 -1
  22. package/inputfilter/index.d.ts +5 -0
  23. package/inputfilter/index.esm.js +1 -1
  24. package/inputfilter/index.esm.js.map +1 -1
  25. package/loading/index.d.ts +16 -16
  26. package/loading/package.json +5 -5
  27. package/message/index.cjs.js +2 -0
  28. package/message/index.cjs.js.map +1 -0
  29. package/message/index.d.ts +108 -0
  30. package/message/index.esm.js +2 -0
  31. package/message/index.esm.js.map +1 -0
  32. package/message/package.json +5 -0
  33. package/modal/index.cjs.js +1 -1
  34. package/modal/index.cjs.js.map +1 -1
  35. package/modal/index.d.ts +5 -0
  36. package/modal/index.esm.js +1 -1
  37. package/modal/index.esm.js.map +1 -1
  38. package/package.json +23 -28
  39. package/picklist/index.d.ts +2 -1
  40. package/radio/index.cjs.js +1 -1
  41. package/radio/index.cjs.js.map +1 -1
  42. package/radio/index.d.ts +44 -1
  43. package/radio/index.esm.js +1 -1
  44. package/radio/index.esm.js.map +1 -1
  45. package/select/index.cjs.js +1 -1
  46. package/select/index.cjs.js.map +1 -1
  47. package/select/index.d.ts +46 -2
  48. package/select/index.esm.js +1 -1
  49. package/select/index.esm.js.map +1 -1
  50. package/style/index.d.ts +1 -1
  51. package/switch/index.cjs.js +1 -1
  52. package/switch/index.cjs.js.map +1 -1
  53. package/switch/index.d.ts +44 -1
  54. package/switch/index.esm.js +1 -1
  55. package/switch/index.esm.js.map +1 -1
  56. package/table/index.cjs.js +1 -1
  57. package/table/index.cjs.js.map +1 -1
  58. package/table/index.d.ts +38 -4
  59. package/table/index.esm.js +1 -1
  60. package/table/index.esm.js.map +1 -1
  61. package/tablepivot/index.d.ts +2 -1
  62. package/tabview/index.cjs.js +1 -1
  63. package/tabview/index.cjs.js.map +1 -1
  64. package/tabview/index.d.ts +12 -1
  65. package/tabview/index.esm.js +1 -1
  66. package/tabview/index.esm.js.map +1 -1
  67. package/textarea/index.cjs.js +1 -1
  68. package/textarea/index.cjs.js.map +1 -1
  69. package/textarea/index.d.ts +44 -1
  70. package/textarea/index.esm.js +1 -1
  71. package/textarea/index.esm.js.map +1 -1
  72. package/utils/index.cjs.js +1 -1
  73. package/utils/index.cjs.js.map +1 -1
  74. package/utils/index.d.ts +10 -2
  75. package/utils/index.esm.js +1 -1
  76. package/utils/index.esm.js.map +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),r=require("primereact/utils"),o=require("primereact/column"),t=require("primereact/datatable");const a=({children:o,...t})=>{const a={size:`box-size-${t.size??"100"}`,direction:`box-direction-${t.direction??"row"}`,justify:void 0===t.justify?"":Array.isArray(t.justify)?t.justify?.join(" "):t.justify,align:void 0===t.align?"":Array.isArray(t.align)?t.align?.join(" "):t.align},n={className:r.classNames(["box",t.className??"",a.size,a.direction,a.justify,a.align]),style:t.css,id:t.id};return e.createElement("div",{...n},o)};function n(e){return{value:e.data,dataKey:"id",lazy:void 0!==e.lazy,resizableColumns:e.styleResizable??!1,columnResizeMode:"expand",emptyMessage:e.emptyMessage??"Não há informações disponíveis no momento.",header:e.templeteHeader,footer:e.templateFooter,stripedRows:e.styleStriped,size:e.styleSize,showGridlines:"bordered"===e.styleType}}function i(e){return{sortField:e.lazy?.sortField,sortOrder:e.lazy?.sortOrder??null,onSort:void 0!==e.lazy?function(r){e.onSort&&e.onSort(r.sortField,r.sortOrder)}:void 0}}function l(e,r,o){return{groupRowsBy:e.rowGroup,rowGroupMode:e.rowGroupMode,rowGroupHeaderTemplate:e.rowGroupHeaderTemplate,rowGroupFooterTemplate:e.rowGroupFooterTemplate,expandableRowGroups:e.rowExpandable??!1,expandedRows:r,onRowToggle(e){o(e.data)}}}function d(e){return{reorderableColumns:"all"===e.reorder||"columns"===e.reorder,reorderableRows:"all"===e.reorder||"rows"===e.reorder,onRowReorder:function(r){if(e.onReorder){let o=r.value,t=o.map((e=>e.order)).sort(((e,r)=>e-r));if(o.forEach(((e,r)=>{e.order=t[r]})),r.dragIndex<r.dropIndex)return e.onReorder(o.filter(((e,o)=>o>=r.dragIndex&&o<=r.dropIndex)));if(r.dragIndex>r.dropIndex)return e.onReorder(o.filter(((e,o)=>o>=r.dropIndex&&o<=r.dragIndex)))}}}}function s(e){return{paginator:{root:{className:r.classNames([`justify-content-${e.paginatorAlign??"center"}`])}}}}function c(e){return{metaKeySelection:void 0!==e.onSelection,selection:e.selection,selectionMode:void 0!==e.onSelection?e.selectionMode??"single":void 0,onSelectionChange:function(r){e.onSelection&&e.onSelection(r.value)}}}function u(r){return{paginator:r.paginator??!1,totalRecords:r?.lazy?.paginationTotal??void 0,first:void 0===r?.lazy?.paginationPage?0:((r?.lazy?.paginationPage??0)-1)*(r.paginatorRow??10),rows:r.paginator?r.paginatorRow??10:void 0,rowsPerPageOptions:[5,10,15,20,50,100],paginatorTemplate:{layout:"RowsPerPageDropdown FirstPageLink PageLinks LastPageLink CurrentPageReport",CurrentPageReport:r=>e.createElement("span",{className:"ms-2"},"Total de registros: ",r.totalRecords)},paginatorDropdownAppendTo:"self",paginatorRight:r.templatePaginationRight,paginatorLeft:r.templatePaginationLeft,onPage:void 0!==r.lazy?function(e){let o=e.first/(r.paginatorRow??10);r.onPaginator&&r.onPaginator(o+1,e.rows)}:void 0}}exports.Table=function(r){const[p,g]=e.useState([]);return e.createElement(a,{className:"p-0",size:r.size??"100"},e.createElement(t.DataTable,{pt:{...s(r)},tableClassName:r.className,...n(r),...i(r),...d(r),...c(r),...u(r),...l(r,p,g)},("all"===r.reorder||"rows"===r.reorder)&&e.createElement(o.Column,{rowReorder:!0,align:"center",columnKey:"key-fixed-reorder",field:"key-fixed-reorder",headerStyle:{width:"2.5rem"},key:"key-fixed-reorder"}),"checkbox"===r.selectionMode&&e.createElement(o.Column,{align:"center",columnKey:"key-fixed-select",field:"key-fixed-select",headerStyle:{width:"2.5rem"},key:"key-fixed-select",selectionMode:"multiple"}),r.column.map((r=>e.createElement(o.Column,{align:r.align,alignFrozen:r.frozen?"right":void 0,alignHeader:r.alignHeader,body:r.body,columnKey:r.id,field:r.id,frozen:void 0!==r.frozen,header:r.header,key:r.id,sortable:r.sort??!1,style:r.style})))))};
1
+ "use strict";var e=require("react"),o=require("primereact/utils"),r=require("primereact/column"),t=require("primereact/datatable");const n=({children:r,...t})=>{const n={size:`box-size-${t.size??"100"}`,direction:`box-direction-${t.direction??"row"}`,justify:void 0===t.justify?"":Array.isArray(t.justify)?t.justify?.join(" "):t.justify,align:void 0===t.align?"":Array.isArray(t.align)?t.align?.join(" "):t.align},i={className:o.classNames(["box",t.className??"",n.size,n.direction,n.justify,n.align]),style:t.css,id:t.id};return e.createElement("div",{...i},r)};function i(e){return{value:e.data,dataKey:"id",lazy:void 0!==e.lazy,resizableColumns:e.styleResizable??!1,columnResizeMode:"expand",emptyMessage:e.emptyMessage??"Não há informações disponíveis no momento.",header:e.templeteHeader,footer:e.templateFooter,stripedRows:e.styleStriped,size:e.styleSize,showGridlines:"bordered"===e.styleType}}function a(e){return{sortField:e.lazy?.sortField,sortOrder:e.lazy?.sortOrder??null,onSort:void 0!==e.lazy?function(o){e.onSort&&e.onSort(o.sortField,o.sortOrder)}:void 0}}function l(e){return{onRowDoubleClick:function(o){e.onDoubleClick&&e.onDoubleClick(o)}}}function d(e,o,r){return{groupRowsBy:e.rowGroup,rowGroupMode:e.rowGroupMode,rowGroupHeaderTemplate:e.rowGroupHeaderTemplate,rowGroupFooterTemplate:e.rowGroupFooterTemplate,expandableRowGroups:e.rowExpandable??!1,expandedRows:o,onRowToggle(e){r(e.data)}}}function s(e){return{reorderableColumns:"all"===e.reorder||"columns"===e.reorder,reorderableRows:"all"===e.reorder||"rows"===e.reorder,onRowReorder:function(o){if(e.onReorder){let r=o.value,t=r.map((e=>e.order)).sort(((e,o)=>e-o));if(r.forEach(((e,o)=>{e.order=t[o]})),o.dragIndex<o.dropIndex)return e.onReorder(r.filter(((e,r)=>r>=o.dragIndex&&r<=o.dropIndex)));if(o.dragIndex>o.dropIndex)return e.onReorder(r.filter(((e,r)=>r>=o.dropIndex&&r<=o.dragIndex)))}}}}function c(e){return{paginator:{root:{className:o.classNames([`justify-content-${e.paginatorAlign??"center"}`])}}}}function u(e){return{metaKeySelection:void 0!==e.onSelection,selection:e.selection,selectionMode:void 0!==e.onSelection?e.selectionMode??"single":void 0,onSelectionChange:function(o){e.onSelection&&e.onSelection(o.value)}}}function p(o){return{paginator:o.paginator??!1,totalRecords:o?.lazy?.paginationTotal??void 0,first:void 0===o?.lazy?.paginationPage?0:((o?.lazy?.paginationPage??0)-1)*(o.paginatorRow??10),rows:o.paginator?o.paginatorRow??10:void 0,rowsPerPageOptions:[5,10,15,20,50,100],paginatorTemplate:{layout:"RowsPerPageDropdown FirstPageLink PageLinks LastPageLink CurrentPageReport",CurrentPageReport:o=>e.createElement("span",{className:"ms-2"},"Total de registros: ",o.totalRecords)},paginatorDropdownAppendTo:"self",paginatorRight:o.templatePaginationRight,paginatorLeft:o.templatePaginationLeft,onPage:void 0!==o.lazy?function(e){let r=e.first/(o.paginatorRow??10);o.onPaginator&&o.onPaginator(r+1,e.rows)}:void 0}}exports.Table=function(o){const[g,m]=e.useState([]);return e.createElement(n,{className:"p-0",size:o.size??"100"},e.createElement(t.DataTable,{editMode:o.edit?"cell":void 0,pt:{...c(o)},tableClassName:o.className,...i(o),...a(o),...l(o),...s(o),...u(o),...p(o),...d(o,g,m)},("all"===o.reorder||"rows"===o.reorder)&&e.createElement(r.Column,{rowReorder:!0,align:"center",columnKey:"key-fixed-reorder",field:"key-fixed-reorder",headerStyle:{width:"2.5rem"},key:"key-fixed-reorder"}),"checkbox"===o.selectionMode&&e.createElement(r.Column,{align:"center",columnKey:"key-fixed-select",field:"key-fixed-select",headerStyle:{width:"2.5rem"},key:"key-fixed-select",selectionMode:"multiple"}),o.column.map((o=>e.createElement(r.Column,{align:o.align,alignFrozen:o.frozen?"right":void 0,alignHeader:o.alignHeader,body:o.body,columnKey:o.id,editor:o.editor,field:o.id,frozen:void 0!==o.frozen,header:o.header,key:o.id,sortable:o.sort??!1,style:o.style,onCellEditComplete:o.onEditorComplete})))))};
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/box/box.tsx","../../src/table/core/core.tsx","../../src/table/core/sort.tsx","../../src/table/core/group.tsx","../../src/table/core/reorder.tsx","../../src/table/styled.ts","../../src/table/core/selection.tsx","../../src/table/core/pagination.tsx","../../src/table/table.tsx"],"sourcesContent":["import { BoxProps } from \"./types\";\r\nimport React, { HTMLAttributes } from \"react\";\r\nimport { classNames } from \"primereact/utils\";\r\n\r\n/**\r\n * Componente - `Box`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar seções ou caixas em uma página.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n *\r\n * Exemplo de uso:\r\n * ```tsx\r\n * <Box align=\"align-items-center\"\r\n * justify=\"justify-content-end\"\r\n * size=\"25\">\r\n * ...conteúdo HTML\r\n * </Box>\r\n * ```\r\n */\r\nexport const Box = ({ children, ...props }: BoxProps) => {\r\n const css = {\r\n size: `box-size-${(props.size ?? \"100\")}`,\r\n direction: `box-direction-${props.direction ?? \"row\"}`,\r\n justify: props.justify === undefined ? \"\" : Array.isArray(props.justify) ? props.justify?.join(\" \") : props.justify,\r\n align: props.align === undefined ? \"\" : Array.isArray(props.align) ? props.align?.join(\" \") : props.align\r\n };\r\n\r\n const attr: HTMLAttributes<\"div\"> & Omit<BoxProps, \"children\"> = {\r\n className: classNames([\r\n \"box\",\r\n props.className ?? \"\",\r\n css.size,\r\n css.direction,\r\n css.justify,\r\n css.align\r\n ]),\r\n style: props.css,\r\n id: props.id\r\n };\r\n\r\n return (\r\n <div {...attr as any}>{children}</div>\r\n );\r\n};","import { TableProps } from \"../types\";\r\nimport { DataTableBaseProps } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo principal da tabela.\r\n */\r\nexport function tableCore(\r\n props: TableProps<any>\r\n): Partial<DataTableBaseProps<any>> {\r\n return {\r\n value: props.data as any,\r\n dataKey: \"id\",\r\n lazy: props.lazy !== undefined,\r\n resizableColumns: props.styleResizable ?? false,\r\n columnResizeMode: \"expand\",\r\n emptyMessage: props.emptyMessage ?? \"Não há informações disponíveis no momento.\",\r\n header: props.templeteHeader,\r\n footer: props.templateFooter,\r\n stripedRows: props.styleStriped,\r\n size: props.styleSize,\r\n showGridlines: props.styleType === \"bordered\"\r\n };\r\n}","import { TableProps } from \"../types\";\r\nimport { DataTableProps, DataTableStateEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de ordenação de resultado.\r\n */\r\nexport function tableSort(\r\n props: TableProps<any>\r\n): Partial<DataTableProps<any>> {\r\n\r\n function onSort(event: DataTableStateEvent) {\r\n if (props.onSort) {\r\n props.onSort(event.sortField, event.sortOrder);\r\n }\r\n }\r\n\r\n return {\r\n sortField: props.lazy?.sortField,\r\n sortOrder: props.lazy?.sortOrder ?? null,\r\n onSort: props.lazy !== undefined ? onSort : undefined\r\n };\r\n}","import React from \"react\";\r\nimport { TableProps } from \"../types\";\r\nimport { DataTableBaseProps, DataTableRowToggleEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações de agrupamento da tabela.\r\n */\r\nexport function tableGroup(\r\n props: TableProps<any>,\r\n expandedRows: any,\r\n setExpandedRows: React.Dispatch<any>\r\n): Partial<DataTableBaseProps<any>> {\r\n return {\r\n groupRowsBy: props.rowGroup,\r\n rowGroupMode: props.rowGroupMode,\r\n rowGroupHeaderTemplate: props.rowGroupHeaderTemplate,\r\n rowGroupFooterTemplate: props.rowGroupFooterTemplate,\r\n expandableRowGroups: props.rowExpandable ?? false,\r\n expandedRows: expandedRows,\r\n onRowToggle(event: DataTableRowToggleEvent) {\r\n setExpandedRows(event.data);\r\n }\r\n };\r\n}","import { TableProps } from \"../types\";\r\nimport { DataTableProps, DataTableRowReorderEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de ordenação colunas e tabelas.\r\n */\r\nexport function tableReorder(\r\n props: TableProps<any>\r\n): Partial<DataTableProps<any>> {\r\n\r\n function onReorder(e: DataTableRowReorderEvent<any>) {\r\n if (props.onReorder) {\r\n let data: any = e.value;\r\n let orders = data.map((item: any) => item.order).sort((a: any, b: any) => a - b);\r\n data.forEach((item: any, index: number) => {\r\n item.order = orders[index];\r\n });\r\n\r\n if (e.dragIndex < e.dropIndex) {\r\n return props.onReorder(data.filter((_: any, index: number) => {\r\n return index >= e.dragIndex && index <= e.dropIndex;\r\n }));\r\n }\r\n\r\n if (e.dragIndex > e.dropIndex) {\r\n return props.onReorder(data.filter((_: any, index: number) => {\r\n return index >= e.dropIndex && index <= e.dragIndex;\r\n }));\r\n }\r\n }\r\n }\r\n\r\n return {\r\n reorderableColumns: props.reorder === \"all\" || props.reorder === \"columns\",\r\n reorderableRows: props.reorder === \"all\" || props.reorder === \"rows\",\r\n onRowReorder: onReorder\r\n };\r\n}\r\n","import { TableProps } from \"./types\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { DataTablePassThroughOptions } from \"primereact/datatable\";\r\n\r\n/**\r\n * Realiza a personalização na TABLE\r\n */\r\nexport function bootstrapTableStyle(props: TableProps<any>): DataTablePassThroughOptions {\r\n return {\r\n paginator: {\r\n root: {\r\n className: classNames([\r\n `justify-content-${props.paginatorAlign ?? \"center\"}`\r\n ]),\r\n }\r\n }\r\n };\r\n}","import { TableProps } from \"../types\";\r\nimport { DataTableProps, DataTableSelectionSingleChangeEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de seleção de dados.\r\n */\r\nexport function tableSelection(\r\n props: TableProps<any>\r\n): Partial<DataTableProps<any>> {\r\n\r\n function onSelect(e: DataTableSelectionSingleChangeEvent<any>) {\r\n if (props.onSelection) {\r\n props.onSelection(e.value);\r\n }\r\n }\r\n\r\n return {\r\n metaKeySelection: props.onSelection !== undefined,\r\n selection: props.selection,\r\n selectionMode: props.onSelection !== undefined ? (props.selectionMode as any ?? \"single\") : undefined,\r\n onSelectionChange: onSelect,\r\n };\r\n}","import React from \"react\";\r\nimport { TableProps } from \"../types\";\r\nimport { DataTableBaseProps, DataTableStateEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de paginação de resultado.\r\n */\r\nexport function tablePagination(\r\n props: TableProps<any>\r\n): Partial<DataTableBaseProps<any>> {\r\n\r\n function onPage(event: DataTableStateEvent) {\r\n let paginationPage = event.first / (props.paginatorRow ?? 10);\r\n if (props.onPaginator) {\r\n props.onPaginator(paginationPage + 1, event.rows);\r\n }\r\n }\r\n\r\n return {\r\n paginator: props.paginator ?? false,\r\n totalRecords: props?.lazy?.paginationTotal ?? undefined,\r\n first: props?.lazy?.paginationPage === undefined ? 0 : ((props?.lazy?.paginationPage ?? 0) - 1) * (props.paginatorRow ?? 10),\r\n rows: props.paginator ? (props.paginatorRow ?? 10) : undefined,\r\n rowsPerPageOptions: [5, 10, 15, 20, 50, 100],\r\n paginatorTemplate: {\r\n layout: \"RowsPerPageDropdown FirstPageLink PageLinks LastPageLink CurrentPageReport\",\r\n CurrentPageReport: options => {\r\n return (\r\n <span className=\"ms-2\">Total de registros: {options.totalRecords}</span>\r\n );\r\n },\r\n },\r\n paginatorDropdownAppendTo: \"self\",\r\n paginatorRight: props.templatePaginationRight,\r\n paginatorLeft: props.templatePaginationLeft,\r\n onPage: props.lazy !== undefined ? onPage : undefined,\r\n };\r\n}","import { Box } from \"../box\";\r\nimport { TableProps } from \"./types\";\r\nimport React, { useState } from \"react\";\r\nimport { tableCore } from \"./core/core\";\r\nimport { tableSort } from \"./core/sort\";\r\nimport { tableGroup } from \"./core/group\";\r\nimport { Column } from \"primereact/column\";\r\nimport { tableReorder } from \"./core/reorder\";\r\nimport { bootstrapTableStyle } from \"./styled\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { tableSelection } from \"./core/selection\";\r\nimport { tablePagination } from \"./core/pagination\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar tabela de dados.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport function Table<T = any>(props: TableProps<T>) {\r\n const [expandedRows, setExpandedRows] = useState([]);\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Box className=\"p-0\"\r\n size={props.size ?? \"100\"}>\r\n {/*@ts-ignore*/}\r\n <DataTable<any>\r\n pt={{ ...bootstrapTableStyle(props) }}\r\n tableClassName={props.className}\r\n {...tableCore(props)}\r\n {...tableSort(props)}\r\n {...tableReorder(props)}\r\n {...tableSelection(props)}\r\n {...tablePagination(props)}\r\n {...tableGroup(props, expandedRows, setExpandedRows)}>\r\n {(props.reorder === \"all\" || props.reorder === \"rows\") && (\r\n <Column rowReorder\r\n align=\"center\"\r\n columnKey=\"key-fixed-reorder\"\r\n field=\"key-fixed-reorder\"\r\n headerStyle={{ width: \"2.5rem\" }}\r\n key=\"key-fixed-reorder\"/>)}\r\n {props.selectionMode === \"checkbox\"\r\n && <Column align=\"center\"\r\n columnKey=\"key-fixed-select\"\r\n field=\"key-fixed-select\"\r\n headerStyle={{ width: \"2.5rem\" }}\r\n key=\"key-fixed-select\"\r\n selectionMode=\"multiple\"/>}\r\n {props.column.map(obj => {\r\n return (\r\n <Column align={obj.align}\r\n alignFrozen={obj.frozen ? \"right\" : undefined}\r\n alignHeader={obj.alignHeader}\r\n body={obj.body}\r\n columnKey={obj.id}\r\n field={obj.id}\r\n frozen={obj.frozen !== undefined}\r\n header={obj.header}\r\n key={obj.id}\r\n sortable={obj.sort ?? false}\r\n style={obj.style}/>\r\n );\r\n })}\r\n </DataTable>\r\n </Box>\r\n );\r\n}"],"names":["Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","style","id","React","createElement","tableCore","value","data","dataKey","lazy","resizableColumns","styleResizable","columnResizeMode","emptyMessage","header","templeteHeader","footer","templateFooter","stripedRows","styleStriped","styleSize","showGridlines","styleType","tableSort","sortField","sortOrder","onSort","event","tableGroup","expandedRows","setExpandedRows","groupRowsBy","rowGroup","rowGroupMode","rowGroupHeaderTemplate","rowGroupFooterTemplate","expandableRowGroups","rowExpandable","onRowToggle","tableReorder","reorderableColumns","reorder","reorderableRows","onRowReorder","e","onReorder","orders","map","item","order","sort","a","b","forEach","index","dragIndex","dropIndex","filter","_","bootstrapTableStyle","paginator","root","paginatorAlign","tableSelection","metaKeySelection","onSelection","selection","selectionMode","onSelectionChange","tablePagination","totalRecords","paginationTotal","first","paginationPage","paginatorRow","rows","rowsPerPageOptions","paginatorTemplate","layout","CurrentPageReport","options","paginatorDropdownAppendTo","paginatorRight","templatePaginationRight","paginatorLeft","templatePaginationLeft","onPage","onPaginator","useState","DataTable","pt","tableClassName","Column","rowReorder","columnKey","field","headerStyle","width","key","column","obj","alignFrozen","frozen","alignHeader","body","sortable"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/box/box.tsx","../../src/table/core/core.tsx","../../src/table/core/sort.tsx","../../src/table/core/click.tsx","../../src/table/core/group.tsx","../../src/table/core/reorder.tsx","../../src/table/styled.ts","../../src/table/core/selection.tsx","../../src/table/core/pagination.tsx","../../src/table/table.tsx"],"sourcesContent":["import { BoxProps } from \"./types\";\r\nimport React, { HTMLAttributes } from \"react\";\r\nimport { classNames } from \"primereact/utils\";\r\n\r\n/**\r\n * Componente - `Box`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar seções ou caixas em uma página.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n *\r\n * Exemplo de uso:\r\n * ```tsx\r\n * <Box align=\"align-items-center\"\r\n * justify=\"justify-content-end\"\r\n * size=\"25\">\r\n * ...conteúdo HTML\r\n * </Box>\r\n * ```\r\n */\r\nexport const Box = ({ children, ...props }: BoxProps) => {\r\n const css = {\r\n size: `box-size-${(props.size ?? \"100\")}`,\r\n direction: `box-direction-${props.direction ?? \"row\"}`,\r\n justify: props.justify === undefined ? \"\" : Array.isArray(props.justify) ? props.justify?.join(\" \") : props.justify,\r\n align: props.align === undefined ? \"\" : Array.isArray(props.align) ? props.align?.join(\" \") : props.align\r\n };\r\n\r\n const attr: HTMLAttributes<\"div\"> & Omit<BoxProps, \"children\"> = {\r\n className: classNames([\r\n \"box\",\r\n props.className ?? \"\",\r\n css.size,\r\n css.direction,\r\n css.justify,\r\n css.align\r\n ]),\r\n style: props.css,\r\n id: props.id\r\n };\r\n\r\n return (\r\n <div {...attr as any}>{children}</div>\r\n );\r\n};","import { TableProps } from \"../types\";\r\nimport { DataTableBaseProps } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo principal da tabela.\r\n */\r\nexport function tableCore(\r\n props: TableProps<any>\r\n): Partial<DataTableBaseProps<any>> {\r\n return {\r\n value: props.data as any,\r\n dataKey: \"id\",\r\n lazy: props.lazy !== undefined,\r\n resizableColumns: props.styleResizable ?? false,\r\n columnResizeMode: \"expand\",\r\n emptyMessage: props.emptyMessage ?? \"Não há informações disponíveis no momento.\",\r\n header: props.templeteHeader,\r\n footer: props.templateFooter,\r\n stripedRows: props.styleStriped,\r\n size: props.styleSize,\r\n showGridlines: props.styleType === \"bordered\"\r\n };\r\n}","import { TableProps } from \"../types\";\r\nimport { DataTableProps, DataTableStateEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de ordenação de resultado.\r\n */\r\nexport function tableSort(\r\n props: TableProps<any>\r\n): Partial<DataTableProps<any>> {\r\n\r\n function onSort(event: DataTableStateEvent) {\r\n if (props.onSort) {\r\n props.onSort(event.sortField, event.sortOrder);\r\n }\r\n }\r\n\r\n return {\r\n sortField: props.lazy?.sortField,\r\n sortOrder: props.lazy?.sortOrder ?? null,\r\n onSort: props.lazy !== undefined ? onSort : undefined\r\n };\r\n}","import { TableProps } from \"../types\";\r\nimport { DataTableProps, DataTableRowClickEvent, DataTableSelectionSingleChangeEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de seleção de dados.\r\n */\r\nexport function tableClick(\r\n props: TableProps<any>\r\n): Partial<DataTableProps<any>> {\r\n\r\n function onDoubleClick(e: DataTableRowClickEvent) {\r\n if (props.onDoubleClick) {\r\n props.onDoubleClick(e);\r\n }\r\n }\r\n\r\n return {\r\n onRowDoubleClick: onDoubleClick\r\n };\r\n}","import React from \"react\";\r\nimport { TableProps } from \"../types\";\r\nimport { DataTableBaseProps, DataTableRowToggleEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações de agrupamento da tabela.\r\n */\r\nexport function tableGroup(\r\n props: TableProps<any>,\r\n expandedRows: any,\r\n setExpandedRows: React.Dispatch<any>\r\n): Partial<DataTableBaseProps<any>> {\r\n return {\r\n groupRowsBy: props.rowGroup,\r\n rowGroupMode: props.rowGroupMode,\r\n rowGroupHeaderTemplate: props.rowGroupHeaderTemplate,\r\n rowGroupFooterTemplate: props.rowGroupFooterTemplate,\r\n expandableRowGroups: props.rowExpandable ?? false,\r\n expandedRows: expandedRows,\r\n onRowToggle(event: DataTableRowToggleEvent) {\r\n setExpandedRows(event.data);\r\n }\r\n };\r\n}","import { TableProps } from \"../types\";\r\nimport { DataTableProps, DataTableRowReorderEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de ordenação colunas e tabelas.\r\n */\r\nexport function tableReorder(\r\n props: TableProps<any>\r\n): Partial<DataTableProps<any>> {\r\n\r\n function onReorder(e: DataTableRowReorderEvent<any>) {\r\n if (props.onReorder) {\r\n let data: any = e.value;\r\n let orders = data.map((item: any) => item.order).sort((a: any, b: any) => a - b);\r\n data.forEach((item: any, index: number) => {\r\n item.order = orders[index];\r\n });\r\n\r\n if (e.dragIndex < e.dropIndex) {\r\n return props.onReorder(data.filter((_: any, index: number) => {\r\n return index >= e.dragIndex && index <= e.dropIndex;\r\n }));\r\n }\r\n\r\n if (e.dragIndex > e.dropIndex) {\r\n return props.onReorder(data.filter((_: any, index: number) => {\r\n return index >= e.dropIndex && index <= e.dragIndex;\r\n }));\r\n }\r\n }\r\n }\r\n\r\n return {\r\n reorderableColumns: props.reorder === \"all\" || props.reorder === \"columns\",\r\n reorderableRows: props.reorder === \"all\" || props.reorder === \"rows\",\r\n onRowReorder: onReorder\r\n };\r\n}\r\n","import { TableProps } from \"./types\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { DataTablePassThroughOptions } from \"primereact/datatable\";\r\n\r\n/**\r\n * Realiza a personalização na TABLE\r\n */\r\nexport function bootstrapTableStyle(props: TableProps<any>): DataTablePassThroughOptions {\r\n return {\r\n paginator: {\r\n root: {\r\n className: classNames([\r\n `justify-content-${props.paginatorAlign ?? \"center\"}`\r\n ]),\r\n }\r\n }\r\n };\r\n}","import { TableProps } from \"../types\";\r\nimport { DataTableProps, DataTableSelectionSingleChangeEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de seleção de dados.\r\n */\r\nexport function tableSelection(\r\n props: TableProps<any>\r\n): Partial<DataTableProps<any>> {\r\n\r\n function onSelect(e: DataTableSelectionSingleChangeEvent<any>) {\r\n if (props.onSelection) {\r\n props.onSelection(e.value);\r\n }\r\n }\r\n\r\n return {\r\n metaKeySelection: props.onSelection !== undefined,\r\n selection: props.selection,\r\n selectionMode: props.onSelection !== undefined ? (props.selectionMode as any ?? \"single\") : undefined,\r\n onSelectionChange: onSelect,\r\n };\r\n}","import React from \"react\";\r\nimport { TableProps } from \"../types\";\r\nimport { DataTableBaseProps, DataTableStateEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de paginação de resultado.\r\n */\r\nexport function tablePagination(\r\n props: TableProps<any>\r\n): Partial<DataTableBaseProps<any>> {\r\n\r\n function onPage(event: DataTableStateEvent) {\r\n let paginationPage = event.first / (props.paginatorRow ?? 10);\r\n if (props.onPaginator) {\r\n props.onPaginator(paginationPage + 1, event.rows);\r\n }\r\n }\r\n\r\n return {\r\n paginator: props.paginator ?? false,\r\n totalRecords: props?.lazy?.paginationTotal ?? undefined,\r\n first: props?.lazy?.paginationPage === undefined ? 0 : ((props?.lazy?.paginationPage ?? 0) - 1) * (props.paginatorRow ?? 10),\r\n rows: props.paginator ? (props.paginatorRow ?? 10) : undefined,\r\n rowsPerPageOptions: [5, 10, 15, 20, 50, 100],\r\n paginatorTemplate: {\r\n layout: \"RowsPerPageDropdown FirstPageLink PageLinks LastPageLink CurrentPageReport\",\r\n CurrentPageReport: options => {\r\n return (\r\n <span className=\"ms-2\">Total de registros: {options.totalRecords}</span>\r\n );\r\n },\r\n },\r\n paginatorDropdownAppendTo: \"self\",\r\n paginatorRight: props.templatePaginationRight,\r\n paginatorLeft: props.templatePaginationLeft,\r\n onPage: props.lazy !== undefined ? onPage : undefined,\r\n };\r\n}","import { Box } from \"../box\";\r\nimport { TableProps } from \"./types\";\r\nimport React, { useState } from \"react\";\r\nimport { tableCore } from \"./core/core\";\r\nimport { tableSort } from \"./core/sort\";\r\nimport { tableClick } from \"./core/click\";\r\nimport { tableGroup } from \"./core/group\";\r\nimport { Column } from \"primereact/column\";\r\nimport { tableReorder } from \"./core/reorder\";\r\nimport { bootstrapTableStyle } from \"./styled\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { tableSelection } from \"./core/selection\";\r\nimport { tablePagination } from \"./core/pagination\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar tabela de dados.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport function Table<T = any>(props: TableProps<T>) {\r\n const [expandedRows, setExpandedRows] = useState([]);\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Box className=\"p-0\"\r\n size={props.size ?? \"100\"}>\r\n {/*@ts-ignore*/}\r\n <DataTable<any>\r\n editMode={props.edit ? \"cell\" : undefined}\r\n pt={{ ...bootstrapTableStyle(props) }}\r\n tableClassName={props.className}\r\n {...tableCore(props)}\r\n {...tableSort(props)}\r\n {...tableClick(props)}\r\n {...tableReorder(props)}\r\n {...tableSelection(props)}\r\n {...tablePagination(props)}\r\n {...tableGroup(props, expandedRows, setExpandedRows)}>\r\n {(props.reorder === \"all\" || props.reorder === \"rows\") && (\r\n <Column rowReorder\r\n align=\"center\"\r\n columnKey=\"key-fixed-reorder\"\r\n field=\"key-fixed-reorder\"\r\n headerStyle={{ width: \"2.5rem\" }}\r\n key=\"key-fixed-reorder\"/>)}\r\n {props.selectionMode === \"checkbox\"\r\n && <Column align=\"center\"\r\n columnKey=\"key-fixed-select\"\r\n field=\"key-fixed-select\"\r\n headerStyle={{ width: \"2.5rem\" }}\r\n key=\"key-fixed-select\"\r\n selectionMode=\"multiple\"/>}\r\n {props.column.map(obj => {\r\n return (\r\n <Column align={obj.align}\r\n alignFrozen={obj.frozen ? \"right\" : undefined}\r\n alignHeader={obj.alignHeader}\r\n body={obj.body}\r\n columnKey={obj.id}\r\n editor={obj.editor}\r\n field={obj.id}\r\n frozen={obj.frozen !== undefined}\r\n header={obj.header}\r\n key={obj.id}\r\n sortable={obj.sort ?? false}\r\n style={obj.style}\r\n onCellEditComplete={obj.onEditorComplete}/>\r\n );\r\n })}\r\n </DataTable>\r\n </Box>\r\n );\r\n}"],"names":["Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","style","id","React","createElement","tableCore","value","data","dataKey","lazy","resizableColumns","styleResizable","columnResizeMode","emptyMessage","header","templeteHeader","footer","templateFooter","stripedRows","styleStriped","styleSize","showGridlines","styleType","tableSort","sortField","sortOrder","onSort","event","tableClick","onRowDoubleClick","e","onDoubleClick","tableGroup","expandedRows","setExpandedRows","groupRowsBy","rowGroup","rowGroupMode","rowGroupHeaderTemplate","rowGroupFooterTemplate","expandableRowGroups","rowExpandable","onRowToggle","tableReorder","reorderableColumns","reorder","reorderableRows","onRowReorder","onReorder","orders","map","item","order","sort","a","b","forEach","index","dragIndex","dropIndex","filter","_","bootstrapTableStyle","paginator","root","paginatorAlign","tableSelection","metaKeySelection","onSelection","selection","selectionMode","onSelectionChange","tablePagination","totalRecords","paginationTotal","first","paginationPage","paginatorRow","rows","rowsPerPageOptions","paginatorTemplate","layout","CurrentPageReport","options","paginatorDropdownAppendTo","paginatorRight","templatePaginationRight","paginatorLeft","templatePaginationLeft","onPage","onPaginator","useState","DataTable","editMode","edit","pt","tableClassName","Column","rowReorder","columnKey","field","headerStyle","width","key","column","obj","alignFrozen","frozen","alignHeader","body","editor","sortable","onCellEditComplete","onEditorComplete"],"mappings":"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"}
package/table/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { SortOrder } from 'primereact/datatable';
1
+ import { SortOrder, DataTableRowClickEvent } from 'primereact/datatable';
2
2
  import React, { CSSProperties } from 'react';
3
- import { ColumnHeaderOptions, ColumnBodyOptions } from 'primereact/column';
3
+ import { ColumnHeaderOptions, ColumnBodyOptions, ColumnEditorOptions, ColumnEvent } from 'primereact/column';
4
4
 
5
5
  interface TableSortProps {
6
6
 
@@ -131,6 +131,16 @@ interface TableColumnProps {
131
131
  * Define se coluna vai ser congelada e qual posição
132
132
  */
133
133
  frozen?: boolean
134
+
135
+ /**
136
+ * Define o elemento de edição dentro de cada coluna
137
+ */
138
+ editor?: (options: ColumnEditorOptions) => React.ReactNode
139
+
140
+ /**
141
+ * Retorno de chamada a ser executado quando o editor for enviado.
142
+ */
143
+ onEditorComplete?: (event: ColumnEvent) => void
134
144
  }
135
145
 
136
146
  interface TableTemplateProps {
@@ -208,6 +218,20 @@ interface TableReorderProps {
208
218
  onReorder?(data: Array<{ id: any, order: any }>): void;
209
219
  }
210
220
 
221
+ interface TableClickProps {
222
+ /**
223
+ * Aplica o evento de double click
224
+ */
225
+ onDoubleClick?(event: DataTableRowClickEvent): void
226
+ }
227
+
228
+ interface TableEditProps {
229
+ /**
230
+ * Define se tabela vai ser do tipo editável
231
+ */
232
+ edit?: boolean
233
+ }
234
+
211
235
  type TableLazyProps = {
212
236
 
213
237
  /**
@@ -231,7 +255,16 @@ type TableLazyProps = {
231
255
  paginationTotal?: number
232
256
  };
233
257
 
234
- interface TableProps<T> extends TableReorderProps, TableStyleProps, TableSelectionProps, TableTemplateProps, TableSortProps, TablePaginationProps, TableGroupProps, ApiComponentProps {
258
+ interface TableProps<T> extends ApiComponentProps,
259
+ TableSortProps,
260
+ TableEditProps,
261
+ TableStyleProps,
262
+ TableClickProps,
263
+ TableGroupProps,
264
+ TableReorderProps,
265
+ TableTemplateProps,
266
+ TableSelectionProps,
267
+ TablePaginationProps {
235
268
 
236
269
  /**
237
270
  * Uma matriz de objeto que renderiza o cabeçalho
@@ -265,4 +298,5 @@ declare function Table<T = any>(props: TableProps<T>): React.JSX.Element;
265
298
  type ITableLazyProps = TableLazyProps;
266
299
  type ITableColumnProps = TableColumnProps;
267
300
 
268
- export { type ITableColumnProps, type ITableLazyProps, Table };
301
+ export { Table };
302
+ export type { ITableColumnProps, ITableLazyProps };
@@ -1,2 +1,2 @@
1
- import e,{useState as o}from"react";import{classNames as r}from"primereact/utils";import{Column as t}from"primereact/column";import{DataTable as n}from"primereact/datatable";const a=({children:o,...t})=>{const n={size:`box-size-${t.size??"100"}`,direction:`box-direction-${t.direction??"row"}`,justify:void 0===t.justify?"":Array.isArray(t.justify)?t.justify?.join(" "):t.justify,align:void 0===t.align?"":Array.isArray(t.align)?t.align?.join(" "):t.align},a={className:r(["box",t.className??"",n.size,n.direction,n.justify,n.align]),style:t.css,id:t.id};return e.createElement("div",{...a},o)};function i(e){return{value:e.data,dataKey:"id",lazy:void 0!==e.lazy,resizableColumns:e.styleResizable??!1,columnResizeMode:"expand",emptyMessage:e.emptyMessage??"Não há informações disponíveis no momento.",header:e.templeteHeader,footer:e.templateFooter,stripedRows:e.styleStriped,size:e.styleSize,showGridlines:"bordered"===e.styleType}}function l(e){return{sortField:e.lazy?.sortField,sortOrder:e.lazy?.sortOrder??null,onSort:void 0!==e.lazy?function(o){e.onSort&&e.onSort(o.sortField,o.sortOrder)}:void 0}}function d(e,o,r){return{groupRowsBy:e.rowGroup,rowGroupMode:e.rowGroupMode,rowGroupHeaderTemplate:e.rowGroupHeaderTemplate,rowGroupFooterTemplate:e.rowGroupFooterTemplate,expandableRowGroups:e.rowExpandable??!1,expandedRows:o,onRowToggle(e){r(e.data)}}}function s(e){return{reorderableColumns:"all"===e.reorder||"columns"===e.reorder,reorderableRows:"all"===e.reorder||"rows"===e.reorder,onRowReorder:function(o){if(e.onReorder){let r=o.value,t=r.map((e=>e.order)).sort(((e,o)=>e-o));if(r.forEach(((e,o)=>{e.order=t[o]})),o.dragIndex<o.dropIndex)return e.onReorder(r.filter(((e,r)=>r>=o.dragIndex&&r<=o.dropIndex)));if(o.dragIndex>o.dropIndex)return e.onReorder(r.filter(((e,r)=>r>=o.dropIndex&&r<=o.dragIndex)))}}}}function c(e){return{paginator:{root:{className:r([`justify-content-${e.paginatorAlign??"center"}`])}}}}function p(e){return{metaKeySelection:void 0!==e.onSelection,selection:e.selection,selectionMode:void 0!==e.onSelection?e.selectionMode??"single":void 0,onSelectionChange:function(o){e.onSelection&&e.onSelection(o.value)}}}function g(o){return{paginator:o.paginator??!1,totalRecords:o?.lazy?.paginationTotal??void 0,first:void 0===o?.lazy?.paginationPage?0:((o?.lazy?.paginationPage??0)-1)*(o.paginatorRow??10),rows:o.paginator?o.paginatorRow??10:void 0,rowsPerPageOptions:[5,10,15,20,50,100],paginatorTemplate:{layout:"RowsPerPageDropdown FirstPageLink PageLinks LastPageLink CurrentPageReport",CurrentPageReport:o=>e.createElement("span",{className:"ms-2"},"Total de registros: ",o.totalRecords)},paginatorDropdownAppendTo:"self",paginatorRight:o.templatePaginationRight,paginatorLeft:o.templatePaginationLeft,onPage:void 0!==o.lazy?function(e){let r=e.first/(o.paginatorRow??10);o.onPaginator&&o.onPaginator(r+1,e.rows)}:void 0}}function u(r){const[u,m]=o([]);return e.createElement(a,{className:"p-0",size:r.size??"100"},e.createElement(n,{pt:{...c(r)},tableClassName:r.className,...i(r),...l(r),...s(r),...p(r),...g(r),...d(r,u,m)},("all"===r.reorder||"rows"===r.reorder)&&e.createElement(t,{rowReorder:!0,align:"center",columnKey:"key-fixed-reorder",field:"key-fixed-reorder",headerStyle:{width:"2.5rem"},key:"key-fixed-reorder"}),"checkbox"===r.selectionMode&&e.createElement(t,{align:"center",columnKey:"key-fixed-select",field:"key-fixed-select",headerStyle:{width:"2.5rem"},key:"key-fixed-select",selectionMode:"multiple"}),r.column.map((o=>e.createElement(t,{align:o.align,alignFrozen:o.frozen?"right":void 0,alignHeader:o.alignHeader,body:o.body,columnKey:o.id,field:o.id,frozen:void 0!==o.frozen,header:o.header,key:o.id,sortable:o.sort??!1,style:o.style})))))}export{u as Table};
1
+ import e,{useState as o}from"react";import{classNames as r}from"primereact/utils";import{Column as t}from"primereact/column";import{DataTable as n}from"primereact/datatable";const i=({children:o,...t})=>{const n={size:`box-size-${t.size??"100"}`,direction:`box-direction-${t.direction??"row"}`,justify:void 0===t.justify?"":Array.isArray(t.justify)?t.justify?.join(" "):t.justify,align:void 0===t.align?"":Array.isArray(t.align)?t.align?.join(" "):t.align},i={className:r(["box",t.className??"",n.size,n.direction,n.justify,n.align]),style:t.css,id:t.id};return e.createElement("div",{...i},o)};function a(e){return{value:e.data,dataKey:"id",lazy:void 0!==e.lazy,resizableColumns:e.styleResizable??!1,columnResizeMode:"expand",emptyMessage:e.emptyMessage??"Não há informações disponíveis no momento.",header:e.templeteHeader,footer:e.templateFooter,stripedRows:e.styleStriped,size:e.styleSize,showGridlines:"bordered"===e.styleType}}function l(e){return{sortField:e.lazy?.sortField,sortOrder:e.lazy?.sortOrder??null,onSort:void 0!==e.lazy?function(o){e.onSort&&e.onSort(o.sortField,o.sortOrder)}:void 0}}function d(e){return{onRowDoubleClick:function(o){e.onDoubleClick&&e.onDoubleClick(o)}}}function s(e,o,r){return{groupRowsBy:e.rowGroup,rowGroupMode:e.rowGroupMode,rowGroupHeaderTemplate:e.rowGroupHeaderTemplate,rowGroupFooterTemplate:e.rowGroupFooterTemplate,expandableRowGroups:e.rowExpandable??!1,expandedRows:o,onRowToggle(e){r(e.data)}}}function c(e){return{reorderableColumns:"all"===e.reorder||"columns"===e.reorder,reorderableRows:"all"===e.reorder||"rows"===e.reorder,onRowReorder:function(o){if(e.onReorder){let r=o.value,t=r.map((e=>e.order)).sort(((e,o)=>e-o));if(r.forEach(((e,o)=>{e.order=t[o]})),o.dragIndex<o.dropIndex)return e.onReorder(r.filter(((e,r)=>r>=o.dragIndex&&r<=o.dropIndex)));if(o.dragIndex>o.dropIndex)return e.onReorder(r.filter(((e,r)=>r>=o.dropIndex&&r<=o.dragIndex)))}}}}function p(e){return{paginator:{root:{className:r([`justify-content-${e.paginatorAlign??"center"}`])}}}}function u(e){return{metaKeySelection:void 0!==e.onSelection,selection:e.selection,selectionMode:void 0!==e.onSelection?e.selectionMode??"single":void 0,onSelectionChange:function(o){e.onSelection&&e.onSelection(o.value)}}}function g(o){return{paginator:o.paginator??!1,totalRecords:o?.lazy?.paginationTotal??void 0,first:void 0===o?.lazy?.paginationPage?0:((o?.lazy?.paginationPage??0)-1)*(o.paginatorRow??10),rows:o.paginator?o.paginatorRow??10:void 0,rowsPerPageOptions:[5,10,15,20,50,100],paginatorTemplate:{layout:"RowsPerPageDropdown FirstPageLink PageLinks LastPageLink CurrentPageReport",CurrentPageReport:o=>e.createElement("span",{className:"ms-2"},"Total de registros: ",o.totalRecords)},paginatorDropdownAppendTo:"self",paginatorRight:o.templatePaginationRight,paginatorLeft:o.templatePaginationLeft,onPage:void 0!==o.lazy?function(e){let r=e.first/(o.paginatorRow??10);o.onPaginator&&o.onPaginator(r+1,e.rows)}:void 0}}function m(r){const[m,f]=o([]);return e.createElement(i,{className:"p-0",size:r.size??"100"},e.createElement(n,{editMode:r.edit?"cell":void 0,pt:{...p(r)},tableClassName:r.className,...a(r),...l(r),...d(r),...c(r),...u(r),...g(r),...s(r,m,f)},("all"===r.reorder||"rows"===r.reorder)&&e.createElement(t,{rowReorder:!0,align:"center",columnKey:"key-fixed-reorder",field:"key-fixed-reorder",headerStyle:{width:"2.5rem"},key:"key-fixed-reorder"}),"checkbox"===r.selectionMode&&e.createElement(t,{align:"center",columnKey:"key-fixed-select",field:"key-fixed-select",headerStyle:{width:"2.5rem"},key:"key-fixed-select",selectionMode:"multiple"}),r.column.map((o=>e.createElement(t,{align:o.align,alignFrozen:o.frozen?"right":void 0,alignHeader:o.alignHeader,body:o.body,columnKey:o.id,editor:o.editor,field:o.id,frozen:void 0!==o.frozen,header:o.header,key:o.id,sortable:o.sort??!1,style:o.style,onCellEditComplete:o.onEditorComplete})))))}export{m as Table};
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../src/box/box.tsx","../../src/table/core/core.tsx","../../src/table/core/sort.tsx","../../src/table/core/group.tsx","../../src/table/core/reorder.tsx","../../src/table/styled.ts","../../src/table/core/selection.tsx","../../src/table/core/pagination.tsx","../../src/table/table.tsx"],"sourcesContent":["import { BoxProps } from \"./types\";\r\nimport React, { HTMLAttributes } from \"react\";\r\nimport { classNames } from \"primereact/utils\";\r\n\r\n/**\r\n * Componente - `Box`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar seções ou caixas em uma página.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n *\r\n * Exemplo de uso:\r\n * ```tsx\r\n * <Box align=\"align-items-center\"\r\n * justify=\"justify-content-end\"\r\n * size=\"25\">\r\n * ...conteúdo HTML\r\n * </Box>\r\n * ```\r\n */\r\nexport const Box = ({ children, ...props }: BoxProps) => {\r\n const css = {\r\n size: `box-size-${(props.size ?? \"100\")}`,\r\n direction: `box-direction-${props.direction ?? \"row\"}`,\r\n justify: props.justify === undefined ? \"\" : Array.isArray(props.justify) ? props.justify?.join(\" \") : props.justify,\r\n align: props.align === undefined ? \"\" : Array.isArray(props.align) ? props.align?.join(\" \") : props.align\r\n };\r\n\r\n const attr: HTMLAttributes<\"div\"> & Omit<BoxProps, \"children\"> = {\r\n className: classNames([\r\n \"box\",\r\n props.className ?? \"\",\r\n css.size,\r\n css.direction,\r\n css.justify,\r\n css.align\r\n ]),\r\n style: props.css,\r\n id: props.id\r\n };\r\n\r\n return (\r\n <div {...attr as any}>{children}</div>\r\n );\r\n};","import { TableProps } from \"../types\";\r\nimport { DataTableBaseProps } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo principal da tabela.\r\n */\r\nexport function tableCore(\r\n props: TableProps<any>\r\n): Partial<DataTableBaseProps<any>> {\r\n return {\r\n value: props.data as any,\r\n dataKey: \"id\",\r\n lazy: props.lazy !== undefined,\r\n resizableColumns: props.styleResizable ?? false,\r\n columnResizeMode: \"expand\",\r\n emptyMessage: props.emptyMessage ?? \"Não há informações disponíveis no momento.\",\r\n header: props.templeteHeader,\r\n footer: props.templateFooter,\r\n stripedRows: props.styleStriped,\r\n size: props.styleSize,\r\n showGridlines: props.styleType === \"bordered\"\r\n };\r\n}","import { TableProps } from \"../types\";\r\nimport { DataTableProps, DataTableStateEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de ordenação de resultado.\r\n */\r\nexport function tableSort(\r\n props: TableProps<any>\r\n): Partial<DataTableProps<any>> {\r\n\r\n function onSort(event: DataTableStateEvent) {\r\n if (props.onSort) {\r\n props.onSort(event.sortField, event.sortOrder);\r\n }\r\n }\r\n\r\n return {\r\n sortField: props.lazy?.sortField,\r\n sortOrder: props.lazy?.sortOrder ?? null,\r\n onSort: props.lazy !== undefined ? onSort : undefined\r\n };\r\n}","import React from \"react\";\r\nimport { TableProps } from \"../types\";\r\nimport { DataTableBaseProps, DataTableRowToggleEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações de agrupamento da tabela.\r\n */\r\nexport function tableGroup(\r\n props: TableProps<any>,\r\n expandedRows: any,\r\n setExpandedRows: React.Dispatch<any>\r\n): Partial<DataTableBaseProps<any>> {\r\n return {\r\n groupRowsBy: props.rowGroup,\r\n rowGroupMode: props.rowGroupMode,\r\n rowGroupHeaderTemplate: props.rowGroupHeaderTemplate,\r\n rowGroupFooterTemplate: props.rowGroupFooterTemplate,\r\n expandableRowGroups: props.rowExpandable ?? false,\r\n expandedRows: expandedRows,\r\n onRowToggle(event: DataTableRowToggleEvent) {\r\n setExpandedRows(event.data);\r\n }\r\n };\r\n}","import { TableProps } from \"../types\";\r\nimport { DataTableProps, DataTableRowReorderEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de ordenação colunas e tabelas.\r\n */\r\nexport function tableReorder(\r\n props: TableProps<any>\r\n): Partial<DataTableProps<any>> {\r\n\r\n function onReorder(e: DataTableRowReorderEvent<any>) {\r\n if (props.onReorder) {\r\n let data: any = e.value;\r\n let orders = data.map((item: any) => item.order).sort((a: any, b: any) => a - b);\r\n data.forEach((item: any, index: number) => {\r\n item.order = orders[index];\r\n });\r\n\r\n if (e.dragIndex < e.dropIndex) {\r\n return props.onReorder(data.filter((_: any, index: number) => {\r\n return index >= e.dragIndex && index <= e.dropIndex;\r\n }));\r\n }\r\n\r\n if (e.dragIndex > e.dropIndex) {\r\n return props.onReorder(data.filter((_: any, index: number) => {\r\n return index >= e.dropIndex && index <= e.dragIndex;\r\n }));\r\n }\r\n }\r\n }\r\n\r\n return {\r\n reorderableColumns: props.reorder === \"all\" || props.reorder === \"columns\",\r\n reorderableRows: props.reorder === \"all\" || props.reorder === \"rows\",\r\n onRowReorder: onReorder\r\n };\r\n}\r\n","import { TableProps } from \"./types\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { DataTablePassThroughOptions } from \"primereact/datatable\";\r\n\r\n/**\r\n * Realiza a personalização na TABLE\r\n */\r\nexport function bootstrapTableStyle(props: TableProps<any>): DataTablePassThroughOptions {\r\n return {\r\n paginator: {\r\n root: {\r\n className: classNames([\r\n `justify-content-${props.paginatorAlign ?? \"center\"}`\r\n ]),\r\n }\r\n }\r\n };\r\n}","import { TableProps } from \"../types\";\r\nimport { DataTableProps, DataTableSelectionSingleChangeEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de seleção de dados.\r\n */\r\nexport function tableSelection(\r\n props: TableProps<any>\r\n): Partial<DataTableProps<any>> {\r\n\r\n function onSelect(e: DataTableSelectionSingleChangeEvent<any>) {\r\n if (props.onSelection) {\r\n props.onSelection(e.value);\r\n }\r\n }\r\n\r\n return {\r\n metaKeySelection: props.onSelection !== undefined,\r\n selection: props.selection,\r\n selectionMode: props.onSelection !== undefined ? (props.selectionMode as any ?? \"single\") : undefined,\r\n onSelectionChange: onSelect,\r\n };\r\n}","import React from \"react\";\r\nimport { TableProps } from \"../types\";\r\nimport { DataTableBaseProps, DataTableStateEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de paginação de resultado.\r\n */\r\nexport function tablePagination(\r\n props: TableProps<any>\r\n): Partial<DataTableBaseProps<any>> {\r\n\r\n function onPage(event: DataTableStateEvent) {\r\n let paginationPage = event.first / (props.paginatorRow ?? 10);\r\n if (props.onPaginator) {\r\n props.onPaginator(paginationPage + 1, event.rows);\r\n }\r\n }\r\n\r\n return {\r\n paginator: props.paginator ?? false,\r\n totalRecords: props?.lazy?.paginationTotal ?? undefined,\r\n first: props?.lazy?.paginationPage === undefined ? 0 : ((props?.lazy?.paginationPage ?? 0) - 1) * (props.paginatorRow ?? 10),\r\n rows: props.paginator ? (props.paginatorRow ?? 10) : undefined,\r\n rowsPerPageOptions: [5, 10, 15, 20, 50, 100],\r\n paginatorTemplate: {\r\n layout: \"RowsPerPageDropdown FirstPageLink PageLinks LastPageLink CurrentPageReport\",\r\n CurrentPageReport: options => {\r\n return (\r\n <span className=\"ms-2\">Total de registros: {options.totalRecords}</span>\r\n );\r\n },\r\n },\r\n paginatorDropdownAppendTo: \"self\",\r\n paginatorRight: props.templatePaginationRight,\r\n paginatorLeft: props.templatePaginationLeft,\r\n onPage: props.lazy !== undefined ? onPage : undefined,\r\n };\r\n}","import { Box } from \"../box\";\r\nimport { TableProps } from \"./types\";\r\nimport React, { useState } from \"react\";\r\nimport { tableCore } from \"./core/core\";\r\nimport { tableSort } from \"./core/sort\";\r\nimport { tableGroup } from \"./core/group\";\r\nimport { Column } from \"primereact/column\";\r\nimport { tableReorder } from \"./core/reorder\";\r\nimport { bootstrapTableStyle } from \"./styled\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { tableSelection } from \"./core/selection\";\r\nimport { tablePagination } from \"./core/pagination\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar tabela de dados.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport function Table<T = any>(props: TableProps<T>) {\r\n const [expandedRows, setExpandedRows] = useState([]);\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Box className=\"p-0\"\r\n size={props.size ?? \"100\"}>\r\n {/*@ts-ignore*/}\r\n <DataTable<any>\r\n pt={{ ...bootstrapTableStyle(props) }}\r\n tableClassName={props.className}\r\n {...tableCore(props)}\r\n {...tableSort(props)}\r\n {...tableReorder(props)}\r\n {...tableSelection(props)}\r\n {...tablePagination(props)}\r\n {...tableGroup(props, expandedRows, setExpandedRows)}>\r\n {(props.reorder === \"all\" || props.reorder === \"rows\") && (\r\n <Column rowReorder\r\n align=\"center\"\r\n columnKey=\"key-fixed-reorder\"\r\n field=\"key-fixed-reorder\"\r\n headerStyle={{ width: \"2.5rem\" }}\r\n key=\"key-fixed-reorder\"/>)}\r\n {props.selectionMode === \"checkbox\"\r\n && <Column align=\"center\"\r\n columnKey=\"key-fixed-select\"\r\n field=\"key-fixed-select\"\r\n headerStyle={{ width: \"2.5rem\" }}\r\n key=\"key-fixed-select\"\r\n selectionMode=\"multiple\"/>}\r\n {props.column.map(obj => {\r\n return (\r\n <Column align={obj.align}\r\n alignFrozen={obj.frozen ? \"right\" : undefined}\r\n alignHeader={obj.alignHeader}\r\n body={obj.body}\r\n columnKey={obj.id}\r\n field={obj.id}\r\n frozen={obj.frozen !== undefined}\r\n header={obj.header}\r\n key={obj.id}\r\n sortable={obj.sort ?? false}\r\n style={obj.style}/>\r\n );\r\n })}\r\n </DataTable>\r\n </Box>\r\n );\r\n}"],"names":["Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","style","id","React","createElement","tableCore","value","data","dataKey","lazy","resizableColumns","styleResizable","columnResizeMode","emptyMessage","header","templeteHeader","footer","templateFooter","stripedRows","styleStriped","styleSize","showGridlines","styleType","tableSort","sortField","sortOrder","onSort","event","tableGroup","expandedRows","setExpandedRows","groupRowsBy","rowGroup","rowGroupMode","rowGroupHeaderTemplate","rowGroupFooterTemplate","expandableRowGroups","rowExpandable","onRowToggle","tableReorder","reorderableColumns","reorder","reorderableRows","onRowReorder","e","onReorder","orders","map","item","order","sort","a","b","forEach","index","dragIndex","dropIndex","filter","_","bootstrapTableStyle","paginator","root","paginatorAlign","tableSelection","metaKeySelection","onSelection","selection","selectionMode","onSelectionChange","tablePagination","totalRecords","paginationTotal","first","paginationPage","paginatorRow","rows","rowsPerPageOptions","paginatorTemplate","layout","CurrentPageReport","options","paginatorDropdownAppendTo","paginatorRight","templatePaginationRight","paginatorLeft","templatePaginationLeft","onPage","onPaginator","Table","useState","DataTable","pt","tableClassName","Column","rowReorder","columnKey","field","headerStyle","width","key","column","obj","alignFrozen","frozen","alignHeader","body","sortable"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../src/box/box.tsx","../../src/table/core/core.tsx","../../src/table/core/sort.tsx","../../src/table/core/click.tsx","../../src/table/core/group.tsx","../../src/table/core/reorder.tsx","../../src/table/styled.ts","../../src/table/core/selection.tsx","../../src/table/core/pagination.tsx","../../src/table/table.tsx"],"sourcesContent":["import { BoxProps } from \"./types\";\r\nimport React, { HTMLAttributes } from \"react\";\r\nimport { classNames } from \"primereact/utils\";\r\n\r\n/**\r\n * Componente - `Box`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar seções ou caixas em uma página.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n *\r\n * Exemplo de uso:\r\n * ```tsx\r\n * <Box align=\"align-items-center\"\r\n * justify=\"justify-content-end\"\r\n * size=\"25\">\r\n * ...conteúdo HTML\r\n * </Box>\r\n * ```\r\n */\r\nexport const Box = ({ children, ...props }: BoxProps) => {\r\n const css = {\r\n size: `box-size-${(props.size ?? \"100\")}`,\r\n direction: `box-direction-${props.direction ?? \"row\"}`,\r\n justify: props.justify === undefined ? \"\" : Array.isArray(props.justify) ? props.justify?.join(\" \") : props.justify,\r\n align: props.align === undefined ? \"\" : Array.isArray(props.align) ? props.align?.join(\" \") : props.align\r\n };\r\n\r\n const attr: HTMLAttributes<\"div\"> & Omit<BoxProps, \"children\"> = {\r\n className: classNames([\r\n \"box\",\r\n props.className ?? \"\",\r\n css.size,\r\n css.direction,\r\n css.justify,\r\n css.align\r\n ]),\r\n style: props.css,\r\n id: props.id\r\n };\r\n\r\n return (\r\n <div {...attr as any}>{children}</div>\r\n );\r\n};","import { TableProps } from \"../types\";\r\nimport { DataTableBaseProps } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo principal da tabela.\r\n */\r\nexport function tableCore(\r\n props: TableProps<any>\r\n): Partial<DataTableBaseProps<any>> {\r\n return {\r\n value: props.data as any,\r\n dataKey: \"id\",\r\n lazy: props.lazy !== undefined,\r\n resizableColumns: props.styleResizable ?? false,\r\n columnResizeMode: \"expand\",\r\n emptyMessage: props.emptyMessage ?? \"Não há informações disponíveis no momento.\",\r\n header: props.templeteHeader,\r\n footer: props.templateFooter,\r\n stripedRows: props.styleStriped,\r\n size: props.styleSize,\r\n showGridlines: props.styleType === \"bordered\"\r\n };\r\n}","import { TableProps } from \"../types\";\r\nimport { DataTableProps, DataTableStateEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de ordenação de resultado.\r\n */\r\nexport function tableSort(\r\n props: TableProps<any>\r\n): Partial<DataTableProps<any>> {\r\n\r\n function onSort(event: DataTableStateEvent) {\r\n if (props.onSort) {\r\n props.onSort(event.sortField, event.sortOrder);\r\n }\r\n }\r\n\r\n return {\r\n sortField: props.lazy?.sortField,\r\n sortOrder: props.lazy?.sortOrder ?? null,\r\n onSort: props.lazy !== undefined ? onSort : undefined\r\n };\r\n}","import { TableProps } from \"../types\";\r\nimport { DataTableProps, DataTableRowClickEvent, DataTableSelectionSingleChangeEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de seleção de dados.\r\n */\r\nexport function tableClick(\r\n props: TableProps<any>\r\n): Partial<DataTableProps<any>> {\r\n\r\n function onDoubleClick(e: DataTableRowClickEvent) {\r\n if (props.onDoubleClick) {\r\n props.onDoubleClick(e);\r\n }\r\n }\r\n\r\n return {\r\n onRowDoubleClick: onDoubleClick\r\n };\r\n}","import React from \"react\";\r\nimport { TableProps } from \"../types\";\r\nimport { DataTableBaseProps, DataTableRowToggleEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações de agrupamento da tabela.\r\n */\r\nexport function tableGroup(\r\n props: TableProps<any>,\r\n expandedRows: any,\r\n setExpandedRows: React.Dispatch<any>\r\n): Partial<DataTableBaseProps<any>> {\r\n return {\r\n groupRowsBy: props.rowGroup,\r\n rowGroupMode: props.rowGroupMode,\r\n rowGroupHeaderTemplate: props.rowGroupHeaderTemplate,\r\n rowGroupFooterTemplate: props.rowGroupFooterTemplate,\r\n expandableRowGroups: props.rowExpandable ?? false,\r\n expandedRows: expandedRows,\r\n onRowToggle(event: DataTableRowToggleEvent) {\r\n setExpandedRows(event.data);\r\n }\r\n };\r\n}","import { TableProps } from \"../types\";\r\nimport { DataTableProps, DataTableRowReorderEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de ordenação colunas e tabelas.\r\n */\r\nexport function tableReorder(\r\n props: TableProps<any>\r\n): Partial<DataTableProps<any>> {\r\n\r\n function onReorder(e: DataTableRowReorderEvent<any>) {\r\n if (props.onReorder) {\r\n let data: any = e.value;\r\n let orders = data.map((item: any) => item.order).sort((a: any, b: any) => a - b);\r\n data.forEach((item: any, index: number) => {\r\n item.order = orders[index];\r\n });\r\n\r\n if (e.dragIndex < e.dropIndex) {\r\n return props.onReorder(data.filter((_: any, index: number) => {\r\n return index >= e.dragIndex && index <= e.dropIndex;\r\n }));\r\n }\r\n\r\n if (e.dragIndex > e.dropIndex) {\r\n return props.onReorder(data.filter((_: any, index: number) => {\r\n return index >= e.dropIndex && index <= e.dragIndex;\r\n }));\r\n }\r\n }\r\n }\r\n\r\n return {\r\n reorderableColumns: props.reorder === \"all\" || props.reorder === \"columns\",\r\n reorderableRows: props.reorder === \"all\" || props.reorder === \"rows\",\r\n onRowReorder: onReorder\r\n };\r\n}\r\n","import { TableProps } from \"./types\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { DataTablePassThroughOptions } from \"primereact/datatable\";\r\n\r\n/**\r\n * Realiza a personalização na TABLE\r\n */\r\nexport function bootstrapTableStyle(props: TableProps<any>): DataTablePassThroughOptions {\r\n return {\r\n paginator: {\r\n root: {\r\n className: classNames([\r\n `justify-content-${props.paginatorAlign ?? \"center\"}`\r\n ]),\r\n }\r\n }\r\n };\r\n}","import { TableProps } from \"../types\";\r\nimport { DataTableProps, DataTableSelectionSingleChangeEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de seleção de dados.\r\n */\r\nexport function tableSelection(\r\n props: TableProps<any>\r\n): Partial<DataTableProps<any>> {\r\n\r\n function onSelect(e: DataTableSelectionSingleChangeEvent<any>) {\r\n if (props.onSelection) {\r\n props.onSelection(e.value);\r\n }\r\n }\r\n\r\n return {\r\n metaKeySelection: props.onSelection !== undefined,\r\n selection: props.selection,\r\n selectionMode: props.onSelection !== undefined ? (props.selectionMode as any ?? \"single\") : undefined,\r\n onSelectionChange: onSelect,\r\n };\r\n}","import React from \"react\";\r\nimport { TableProps } from \"../types\";\r\nimport { DataTableBaseProps, DataTableStateEvent } from \"primereact/datatable\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Define as configurações do modo de paginação de resultado.\r\n */\r\nexport function tablePagination(\r\n props: TableProps<any>\r\n): Partial<DataTableBaseProps<any>> {\r\n\r\n function onPage(event: DataTableStateEvent) {\r\n let paginationPage = event.first / (props.paginatorRow ?? 10);\r\n if (props.onPaginator) {\r\n props.onPaginator(paginationPage + 1, event.rows);\r\n }\r\n }\r\n\r\n return {\r\n paginator: props.paginator ?? false,\r\n totalRecords: props?.lazy?.paginationTotal ?? undefined,\r\n first: props?.lazy?.paginationPage === undefined ? 0 : ((props?.lazy?.paginationPage ?? 0) - 1) * (props.paginatorRow ?? 10),\r\n rows: props.paginator ? (props.paginatorRow ?? 10) : undefined,\r\n rowsPerPageOptions: [5, 10, 15, 20, 50, 100],\r\n paginatorTemplate: {\r\n layout: \"RowsPerPageDropdown FirstPageLink PageLinks LastPageLink CurrentPageReport\",\r\n CurrentPageReport: options => {\r\n return (\r\n <span className=\"ms-2\">Total de registros: {options.totalRecords}</span>\r\n );\r\n },\r\n },\r\n paginatorDropdownAppendTo: \"self\",\r\n paginatorRight: props.templatePaginationRight,\r\n paginatorLeft: props.templatePaginationLeft,\r\n onPage: props.lazy !== undefined ? onPage : undefined,\r\n };\r\n}","import { Box } from \"../box\";\r\nimport { TableProps } from \"./types\";\r\nimport React, { useState } from \"react\";\r\nimport { tableCore } from \"./core/core\";\r\nimport { tableSort } from \"./core/sort\";\r\nimport { tableClick } from \"./core/click\";\r\nimport { tableGroup } from \"./core/group\";\r\nimport { Column } from \"primereact/column\";\r\nimport { tableReorder } from \"./core/reorder\";\r\nimport { bootstrapTableStyle } from \"./styled\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { tableSelection } from \"./core/selection\";\r\nimport { tablePagination } from \"./core/pagination\";\r\n\r\n/**\r\n * Componente - `Table`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar tabela de dados.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport function Table<T = any>(props: TableProps<T>) {\r\n const [expandedRows, setExpandedRows] = useState([]);\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Box className=\"p-0\"\r\n size={props.size ?? \"100\"}>\r\n {/*@ts-ignore*/}\r\n <DataTable<any>\r\n editMode={props.edit ? \"cell\" : undefined}\r\n pt={{ ...bootstrapTableStyle(props) }}\r\n tableClassName={props.className}\r\n {...tableCore(props)}\r\n {...tableSort(props)}\r\n {...tableClick(props)}\r\n {...tableReorder(props)}\r\n {...tableSelection(props)}\r\n {...tablePagination(props)}\r\n {...tableGroup(props, expandedRows, setExpandedRows)}>\r\n {(props.reorder === \"all\" || props.reorder === \"rows\") && (\r\n <Column rowReorder\r\n align=\"center\"\r\n columnKey=\"key-fixed-reorder\"\r\n field=\"key-fixed-reorder\"\r\n headerStyle={{ width: \"2.5rem\" }}\r\n key=\"key-fixed-reorder\"/>)}\r\n {props.selectionMode === \"checkbox\"\r\n && <Column align=\"center\"\r\n columnKey=\"key-fixed-select\"\r\n field=\"key-fixed-select\"\r\n headerStyle={{ width: \"2.5rem\" }}\r\n key=\"key-fixed-select\"\r\n selectionMode=\"multiple\"/>}\r\n {props.column.map(obj => {\r\n return (\r\n <Column align={obj.align}\r\n alignFrozen={obj.frozen ? \"right\" : undefined}\r\n alignHeader={obj.alignHeader}\r\n body={obj.body}\r\n columnKey={obj.id}\r\n editor={obj.editor}\r\n field={obj.id}\r\n frozen={obj.frozen !== undefined}\r\n header={obj.header}\r\n key={obj.id}\r\n sortable={obj.sort ?? false}\r\n style={obj.style}\r\n onCellEditComplete={obj.onEditorComplete}/>\r\n );\r\n })}\r\n </DataTable>\r\n </Box>\r\n );\r\n}"],"names":["Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","style","id","React","createElement","tableCore","value","data","dataKey","lazy","resizableColumns","styleResizable","columnResizeMode","emptyMessage","header","templeteHeader","footer","templateFooter","stripedRows","styleStriped","styleSize","showGridlines","styleType","tableSort","sortField","sortOrder","onSort","event","tableClick","onRowDoubleClick","e","onDoubleClick","tableGroup","expandedRows","setExpandedRows","groupRowsBy","rowGroup","rowGroupMode","rowGroupHeaderTemplate","rowGroupFooterTemplate","expandableRowGroups","rowExpandable","onRowToggle","tableReorder","reorderableColumns","reorder","reorderableRows","onRowReorder","onReorder","orders","map","item","order","sort","a","b","forEach","index","dragIndex","dropIndex","filter","_","bootstrapTableStyle","paginator","root","paginatorAlign","tableSelection","metaKeySelection","onSelection","selection","selectionMode","onSelectionChange","tablePagination","totalRecords","paginationTotal","first","paginationPage","paginatorRow","rows","rowsPerPageOptions","paginatorTemplate","layout","CurrentPageReport","options","paginatorDropdownAppendTo","paginatorRight","templatePaginationRight","paginatorLeft","templatePaginationLeft","onPage","onPaginator","Table","useState","DataTable","editMode","edit","pt","tableClassName","Column","rowReorder","columnKey","field","headerStyle","width","key","column","obj","alignFrozen","frozen","alignHeader","body","editor","sortable","onCellEditComplete","onEditorComplete"],"mappings":"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"}
@@ -253,4 +253,5 @@ declare const TablePivot: React.ForwardRefExoticComponent<TablePivotProps & Reac
253
253
  type ITablePivotProps = TablePivotProps;
254
254
  type ITablePivotRefProps = TablePivotRefProps;
255
255
 
256
- export { type ITablePivotProps, type ITablePivotRefProps, TablePivot };
256
+ export { TablePivot };
257
+ export type { ITablePivotProps, ITablePivotRefProps };
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),i=require("primereact/tabview");exports.Tabview=({...a})=>e.createElement(i.TabView,{activeIndex:a.tabIndex,className:a.className+" w-100",id:a.id,onTabChange:a.onChange,onTabClose:a.onClosed},a.tabs.map(((a,o)=>{let t=void 0===a.iconPosition||"left"===a.iconPosition?{leftIcon:`${void 0===a.iconPrefix?"bi bi-":"pi pi-"}${a.icon} me-1`}:{rightIcon:`${void 0===a.iconPrefix?"bi bi-":"pi pi-"}${a.icon} ms-1`};return e.createElement(i.TabPanel,{closable:a.closed,disabled:a.disabled,header:a.tab,headerTemplate:a.headerTemplate,key:o,...t},a.content)})));
1
+ "use strict";var e=require("react"),i=require("primereact/tabview");exports.Tabview=({...a})=>e.createElement(i.TabView,{activeIndex:a.tabIndex,className:a.className+" w-100",id:a.id,renderActiveOnly:a.tabActiveRender??!0,onTabChange:a.onChange,onTabClose:a.onClosed},a.tabs.map(((a,t)=>{let n=void 0===a.iconPosition||"left"===a.iconPosition?{leftIcon:`${void 0===a.iconPrefix?"bi bi-":"pi pi-"}${a.icon} me-1`}:{rightIcon:`${void 0===a.iconPrefix?"bi bi-":"pi pi-"}${a.icon} ms-1`};return e.createElement(i.TabPanel,{closable:a.closed,disabled:a.disabled,header:a.tab,headerTemplate:a.headerTemplate,key:t,...n},a.content)})));
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/tabview/tabview.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { TabViewProps } from \"./types\";\r\nimport { TabView, TabPanel } from \"primereact/tabview\";\r\n\r\n/**\r\n * Componente - `TabView`\r\n *\r\n * Um componente versátil que pode ser utilizado para agrupar conteúdo com guias.\r\n */\r\nexport const Tabview = ({ ...props }: TabViewProps) => {\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <TabView activeIndex={props.tabIndex}\r\n className={props.className + \" w-100\"}\r\n id={props.id}\r\n onTabChange={props.onChange}\r\n onTabClose={props.onClosed}>\r\n {props.tabs.map((item, index) => {\r\n let positionIcon = item.iconPosition === undefined || item.iconPosition === \"left\"\r\n ? { leftIcon: `${(item.iconPrefix === undefined ? \"bi bi-\" : \"pi pi-\")}${item.icon} me-1` }\r\n : { rightIcon: `${(item.iconPrefix === undefined ? \"bi bi-\" : \"pi pi-\")}${item.icon} ms-1` };\r\n\r\n return (\r\n <TabPanel closable={item.closed}\r\n disabled={item.disabled}\r\n header={item.tab}\r\n headerTemplate={item.headerTemplate}\r\n key={index}\r\n {...positionIcon}>\r\n {item.content}\r\n </TabPanel>\r\n );\r\n })}\r\n </TabView>\r\n );\r\n};"],"names":["props","React","TabView","activeIndex","tabIndex","className","id","onTabChange","onChange","onTabClose","onClosed","tabs","map","item","index","positionIcon","undefined","iconPosition","leftIcon","iconPrefix","icon","rightIcon","createElement","TabPanel","closable","closed","disabled","header","tab","headerTemplate","key","content"],"mappings":"oFASuB,KAAMA,KAQrBC,gBAACC,EAAOA,QAAA,CAACC,YAAaH,EAAMI,SACnBC,UAAWL,EAAMK,UAAY,SAC7BC,GAAIN,EAAMM,GACVC,YAAaP,EAAMQ,SACnBC,WAAYT,EAAMU,UACtBV,EAAMW,KAAKC,KAAI,CAACC,EAAMC,KACnB,IAAIC,OAAqCC,IAAtBH,EAAKI,cAAoD,SAAtBJ,EAAKI,aACrD,CAAEC,SAAU,QAAwBF,IAApBH,EAAKM,WAA2B,SAAW,WAAYN,EAAKO,aAC5E,CAAEC,UAAW,QAAwBL,IAApBH,EAAKM,WAA2B,SAAW,WAAYN,EAAKO,aAEnF,OACInB,EAACqB,cAAAC,EAAAA,SAAS,CAAAC,SAAUX,EAAKY,OACfC,SAAUb,EAAKa,SACfC,OAAQd,EAAKe,IACbC,eAAgBhB,EAAKgB,eACrBC,IAAKhB,KACDC,GACTF,EAAKkB,QACC"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/tabview/tabview.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { TabViewProps } from \"./types\";\r\nimport { TabView, TabPanel } from \"primereact/tabview\";\r\n\r\n/**\r\n * Componente - `TabView`\r\n *\r\n * Um componente versátil que pode ser utilizado para agrupar conteúdo com guias.\r\n */\r\nexport const Tabview = ({ ...props }: TabViewProps) => {\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <TabView activeIndex={props.tabIndex}\r\n className={props.className + \" w-100\"}\r\n id={props.id}\r\n renderActiveOnly={props.tabActiveRender ?? true}\r\n onTabChange={props.onChange}\r\n onTabClose={props.onClosed}>\r\n {props.tabs.map((item, index) => {\r\n let positionIcon = item.iconPosition === undefined || item.iconPosition === \"left\"\r\n ? { leftIcon: `${(item.iconPrefix === undefined ? \"bi bi-\" : \"pi pi-\")}${item.icon} me-1` }\r\n : { rightIcon: `${(item.iconPrefix === undefined ? \"bi bi-\" : \"pi pi-\")}${item.icon} ms-1` };\r\n\r\n return (\r\n <TabPanel closable={item.closed}\r\n disabled={item.disabled}\r\n header={item.tab}\r\n headerTemplate={item.headerTemplate}\r\n key={index}\r\n {...positionIcon}>\r\n {item.content}\r\n </TabPanel>\r\n );\r\n })}\r\n </TabView>\r\n );\r\n};"],"names":["props","React","createElement","TabView","activeIndex","tabIndex","className","id","renderActiveOnly","tabActiveRender","onTabChange","onChange","onTabClose","onClosed","tabs","map","item","index","positionIcon","undefined","iconPosition","leftIcon","iconPrefix","icon","rightIcon","TabPanel","closable","closed","disabled","header","tab","headerTemplate","key","content"],"mappings":"oFASuB,KAAMA,KAQrBC,EAACC,cAAAC,EAAOA,QAAC,CAAAC,YAAaJ,EAAMK,SACnBC,UAAWN,EAAMM,UAAY,SAC7BC,GAAIP,EAAMO,GACVC,iBAAkBR,EAAMS,kBAAmB,EAC3CC,YAAaV,EAAMW,SACnBC,WAAYZ,EAAMa,UACtBb,EAAMc,KAAKC,KAAI,CAACC,EAAMC,KACnB,IAAIC,OAAqCC,IAAtBH,EAAKI,cAAoD,SAAtBJ,EAAKI,aACrD,CAAEC,SAAU,QAAwBF,IAApBH,EAAKM,WAA2B,SAAW,WAAYN,EAAKO,aAC5E,CAAEC,UAAW,QAAwBL,IAApBH,EAAKM,WAA2B,SAAW,WAAYN,EAAKO,aAEnF,OACItB,EAACC,cAAAuB,EAAAA,SAAS,CAAAC,SAAUV,EAAKW,OACfC,SAAUZ,EAAKY,SACfC,OAAQb,EAAKc,IACbC,eAAgBf,EAAKe,eACrBC,IAAKf,KACDC,GACTF,EAAKiB,QACC"}
@@ -87,6 +87,11 @@ interface ApiFieldComponentProps {
87
87
  * Define a opção de filtro de dados do componente
88
88
  */
89
89
  keyfilter?: KeyFilterType;
90
+
91
+ /**
92
+ * Determina se campo é apenas de leitura
93
+ */
94
+ readonly?: boolean
90
95
  }
91
96
 
92
97
  interface TabViewTabProps extends Pick<ApiFieldComponentProps, "iconPrefix" | "icon" | "id" | "disabled"> {
@@ -129,6 +134,11 @@ interface TabViewProps extends ApiComponentProps {
129
134
  */
130
135
  tabIndex?: number
131
136
 
137
+ /**
138
+ * Determina se tabview vai se renderizada todas as vezes que for ativa
139
+ */
140
+ tabActiveRender?: boolean
141
+
132
142
  /**
133
143
  * Função retorna o evento da tabview quando é moficada
134
144
  */
@@ -150,4 +160,5 @@ declare const Tabview: ({ ...props }: TabViewProps) => React.JSX.Element;
150
160
  type ITabViewProps = TabViewTabProps;
151
161
  type ITabViewTabProps = TabViewTabProps;
152
162
 
153
- export { type ITabViewProps, type ITabViewTabProps, Tabview };
163
+ export { Tabview };
164
+ export type { ITabViewProps, ITabViewTabProps };
@@ -1,2 +1,2 @@
1
- import e from"react";import{TabView as i,TabPanel as o}from"primereact/tabview";const a=({...a})=>e.createElement(i,{activeIndex:a.tabIndex,className:a.className+" w-100",id:a.id,onTabChange:a.onChange,onTabClose:a.onClosed},a.tabs.map(((i,a)=>{let t=void 0===i.iconPosition||"left"===i.iconPosition?{leftIcon:`${void 0===i.iconPrefix?"bi bi-":"pi pi-"}${i.icon} me-1`}:{rightIcon:`${void 0===i.iconPrefix?"bi bi-":"pi pi-"}${i.icon} ms-1`};return e.createElement(o,{closable:i.closed,disabled:i.disabled,header:i.tab,headerTemplate:i.headerTemplate,key:a,...t},i.content)})));export{a as Tabview};
1
+ import e from"react";import{TabView as i,TabPanel as o}from"primereact/tabview";const t=({...t})=>e.createElement(i,{activeIndex:t.tabIndex,className:t.className+" w-100",id:t.id,renderActiveOnly:t.tabActiveRender??!0,onTabChange:t.onChange,onTabClose:t.onClosed},t.tabs.map(((i,t)=>{let a=void 0===i.iconPosition||"left"===i.iconPosition?{leftIcon:`${void 0===i.iconPrefix?"bi bi-":"pi pi-"}${i.icon} me-1`}:{rightIcon:`${void 0===i.iconPrefix?"bi bi-":"pi pi-"}${i.icon} ms-1`};return e.createElement(o,{closable:i.closed,disabled:i.disabled,header:i.tab,headerTemplate:i.headerTemplate,key:t,...a},i.content)})));export{t as Tabview};
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../src/tabview/tabview.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { TabViewProps } from \"./types\";\r\nimport { TabView, TabPanel } from \"primereact/tabview\";\r\n\r\n/**\r\n * Componente - `TabView`\r\n *\r\n * Um componente versátil que pode ser utilizado para agrupar conteúdo com guias.\r\n */\r\nexport const Tabview = ({ ...props }: TabViewProps) => {\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <TabView activeIndex={props.tabIndex}\r\n className={props.className + \" w-100\"}\r\n id={props.id}\r\n onTabChange={props.onChange}\r\n onTabClose={props.onClosed}>\r\n {props.tabs.map((item, index) => {\r\n let positionIcon = item.iconPosition === undefined || item.iconPosition === \"left\"\r\n ? { leftIcon: `${(item.iconPrefix === undefined ? \"bi bi-\" : \"pi pi-\")}${item.icon} me-1` }\r\n : { rightIcon: `${(item.iconPrefix === undefined ? \"bi bi-\" : \"pi pi-\")}${item.icon} ms-1` };\r\n\r\n return (\r\n <TabPanel closable={item.closed}\r\n disabled={item.disabled}\r\n header={item.tab}\r\n headerTemplate={item.headerTemplate}\r\n key={index}\r\n {...positionIcon}>\r\n {item.content}\r\n </TabPanel>\r\n );\r\n })}\r\n </TabView>\r\n );\r\n};"],"names":["Tabview","props","React","TabView","activeIndex","tabIndex","className","id","onTabChange","onChange","onTabClose","onClosed","tabs","map","item","index","positionIcon","undefined","iconPosition","leftIcon","iconPrefix","icon","rightIcon","createElement","TabPanel","closable","closed","disabled","header","tab","headerTemplate","key","content"],"mappings":"gFASa,MAAAA,EAAU,KAAMC,KAQrBC,gBAACC,EAAO,CAACC,YAAaH,EAAMI,SACnBC,UAAWL,EAAMK,UAAY,SAC7BC,GAAIN,EAAMM,GACVC,YAAaP,EAAMQ,SACnBC,WAAYT,EAAMU,UACtBV,EAAMW,KAAKC,KAAI,CAACC,EAAMC,KACnB,IAAIC,OAAqCC,IAAtBH,EAAKI,cAAoD,SAAtBJ,EAAKI,aACrD,CAAEC,SAAU,QAAwBF,IAApBH,EAAKM,WAA2B,SAAW,WAAYN,EAAKO,aAC5E,CAAEC,UAAW,QAAwBL,IAApBH,EAAKM,WAA2B,SAAW,WAAYN,EAAKO,aAEnF,OACInB,EAACqB,cAAAC,EAAS,CAAAC,SAAUX,EAAKY,OACfC,SAAUb,EAAKa,SACfC,OAAQd,EAAKe,IACbC,eAAgBhB,EAAKgB,eACrBC,IAAKhB,KACDC,GACTF,EAAKkB,QACC"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../src/tabview/tabview.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { TabViewProps } from \"./types\";\r\nimport { TabView, TabPanel } from \"primereact/tabview\";\r\n\r\n/**\r\n * Componente - `TabView`\r\n *\r\n * Um componente versátil que pode ser utilizado para agrupar conteúdo com guias.\r\n */\r\nexport const Tabview = ({ ...props }: TabViewProps) => {\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <TabView activeIndex={props.tabIndex}\r\n className={props.className + \" w-100\"}\r\n id={props.id}\r\n renderActiveOnly={props.tabActiveRender ?? true}\r\n onTabChange={props.onChange}\r\n onTabClose={props.onClosed}>\r\n {props.tabs.map((item, index) => {\r\n let positionIcon = item.iconPosition === undefined || item.iconPosition === \"left\"\r\n ? { leftIcon: `${(item.iconPrefix === undefined ? \"bi bi-\" : \"pi pi-\")}${item.icon} me-1` }\r\n : { rightIcon: `${(item.iconPrefix === undefined ? \"bi bi-\" : \"pi pi-\")}${item.icon} ms-1` };\r\n\r\n return (\r\n <TabPanel closable={item.closed}\r\n disabled={item.disabled}\r\n header={item.tab}\r\n headerTemplate={item.headerTemplate}\r\n key={index}\r\n {...positionIcon}>\r\n {item.content}\r\n </TabPanel>\r\n );\r\n })}\r\n </TabView>\r\n );\r\n};"],"names":["Tabview","props","React","createElement","TabView","activeIndex","tabIndex","className","id","renderActiveOnly","tabActiveRender","onTabChange","onChange","onTabClose","onClosed","tabs","map","item","index","positionIcon","undefined","iconPosition","leftIcon","iconPrefix","icon","rightIcon","TabPanel","closable","closed","disabled","header","tab","headerTemplate","key","content"],"mappings":"gFASa,MAAAA,EAAU,KAAMC,KAQrBC,EAACC,cAAAC,EAAQ,CAAAC,YAAaJ,EAAMK,SACnBC,UAAWN,EAAMM,UAAY,SAC7BC,GAAIP,EAAMO,GACVC,iBAAkBR,EAAMS,kBAAmB,EAC3CC,YAAaV,EAAMW,SACnBC,WAAYZ,EAAMa,UACtBb,EAAMc,KAAKC,KAAI,CAACC,EAAMC,KACnB,IAAIC,OAAqCC,IAAtBH,EAAKI,cAAoD,SAAtBJ,EAAKI,aACrD,CAAEC,SAAU,QAAwBF,IAApBH,EAAKM,WAA2B,SAAW,WAAYN,EAAKO,aAC5E,CAAEC,UAAW,QAAwBL,IAApBH,EAAKM,WAA2B,SAAW,WAAYN,EAAKO,aAEnF,OACItB,EAACC,cAAAuB,EAAS,CAAAC,SAAUV,EAAKW,OACfC,SAAUZ,EAAKY,SACfC,OAAQb,EAAKc,IACbC,eAAgBf,EAAKe,eACrBC,IAAKf,KACDC,GACTF,EAAKiB,QACC"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),t=require("primereact/utils"),r=require("primereact/inputtextarea");const a=({children:r,...a})=>{const n={size:`box-size-${a.size??"100"}`,direction:`box-direction-${a.direction??"row"}`,justify:void 0===a.justify?"":Array.isArray(a.justify)?a.justify?.join(" "):a.justify,align:void 0===a.align?"":Array.isArray(a.align)?a.align?.join(" "):a.align},s={className:t.classNames(["box",a.className??"",n.size,n.direction,n.justify,n.align]),style:a.css,id:a.id};return e.createElement("div",{...s},r)},n=({iconPrefix:t="bi bi-",...r})=>r.label&&e.createElement("p",{className:"form-label"},r.icon&&e.createElement("i",{className:t+r.icon+" me-1"}),r.label,r.required&&e.createElement("span",{className:"text-danger"},"*")),s=({errors:t,name:r,...a})=>a.mode&&"Controlled"!==a.mode?e.createElement("div",{className:t[r??""]?"invalid-feedback is-invalid":"","data-name":r??"",id:"j_feedback",style:{display:t[r??""]?"block":"none"}},t[r??""]?t[r??""].message:""):e.createElement("div",{"data-name":r,id:"j_feedback"});function i(e){return{ref:e.ref,id:e.id,name:e.name,required:e.required,disabled:e.disabled,placeholder:e.placeholder,className:e.className,style:{width:"100%"},keyfilter:e.keyfilter}}var o=e=>null==e;var l=e=>!o(e)&&!Array.isArray(e)&&(e=>"object"==typeof e)(e)&&!(e=>e instanceof Date)(e),u=e=>l(e)&&e.target?"checkbox"===e.target.type?e.target.checked:e.target.value:e,c=e=>{const t=e.constructor&&e.constructor.prototype;return l(t)&&t.hasOwnProperty("isPrototypeOf")},d="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function f(e){let t;const r=Array.isArray(e),a="undefined"!=typeof FileList&&e instanceof FileList;if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else{if(d&&(e instanceof Blob||a)||!r&&!l(e))return e;if(t=r?[]:{},r||c(e))for(const r in e)e.hasOwnProperty(r)&&(t[r]=f(e[r]));else t=e}return t}var m=e=>Array.isArray(e)?e.filter(Boolean):[],b=e=>void 0===e,y=(e,t,r)=>{if(!t||!l(e))return r;const a=m(t.split(/[,[\].]+?/)).reduce(((e,t)=>o(e)?e:e[t]),e);return b(a)||a===e?b(e[t])?r:e[t]:a},g=e=>"boolean"==typeof e,p=(e,t,r)=>{let a=-1;const n=(e=>/^\w*$/.test(e))(t)?[t]:m(t.replace(/["|']|\]/g,"").split(/\.|\[/));const s=n.length,i=s-1;for(;++a<s;){const t=n[a];let s=r;if(a!==i){const r=e[t];s=l(r)||Array.isArray(r)?r:isNaN(+n[a+1])?{}:[]}if("__proto__"===t||"constructor"===t||"prototype"===t)return;e[t]=s,e=e[t]}return e};const _="blur",v="change",h="all",j=e.createContext(null),x=()=>e.useContext(j);var E=(e,t,r,a=!0)=>{const n={defaultValues:t._defaultValues};for(const s in e)Object.defineProperty(n,s,{get:()=>{const n=s;return t._proxyFormState[n]!==h&&(t._proxyFormState[n]=!a||h),r&&(r[n]=!0),e[n]}});return n},V=(e,t,r,a)=>{r(e);const{name:n,...s}=e;return l(i=s)&&!Object.keys(i).length||Object.keys(s).length>=Object.keys(t).length||Object.keys(s).find((e=>!0===t[e]));var i},A=(e,t,r)=>{return!e||!t||e===t||(a=e,Array.isArray(a)?a:[a]).some((e=>e&&(r?e===t:e.startsWith(t)||t.startsWith(e))));var a};function C(t){const r=e.useRef(t);r.current=t,e.useEffect((()=>{const e=!t.disabled&&r.current.subject&&r.current.subject.subscribe({next:r.current.next});return()=>{e&&e.unsubscribe()}}),[t.disabled])}var F=(e,t,r,a,n)=>"string"==typeof e?y(r,e,n):Array.isArray(e)?e.map((e=>y(r,e))):r;function N(t){const r=x(),{name:a,disabled:n,control:s=r.control,shouldUnregister:i}=t,o=((e,t)=>e.has((e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e)(t)))(s._names.array,a),l=function(t){const r=x(),{control:a=r.control,name:n,defaultValue:s,disabled:i,exact:o}=t||{},l=e.useRef(n);l.current=n,C({disabled:i,subject:a._subjects.values,next:e=>{A(l.current,e.name,o)&&c(f(F(l.current,a._names,e.values||a._formValues,!1,s)))}});const[u,c]=e.useState(a._getWatch(n,s));return e.useEffect((()=>a._removeUnmounted())),u}({control:s,name:a,defaultValue:y(s._formValues,a,y(s._defaultValues,a,t.defaultValue)),exact:!0}),c=function(t){const r=x(),{control:a=r.control,disabled:n,name:s,exact:i}=t||{},[o,l]=e.useState(a._formState),u=e.useRef(!0),c=e.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),d=e.useRef(s);return d.current=s,C({disabled:n,next:e=>u.current&&A(d.current,e.name,i)&&V(e,c.current,a._updateFormState)&&l({...a._formState,...e}),subject:a._subjects.state}),e.useEffect((()=>(u.current=!0,c.current.isValid&&a._updateValid(!0),()=>{u.current=!1})),[a]),e.useMemo((()=>E(o,a,c.current,!1)),[o,a])}({control:s,name:a,exact:!0}),d=e.useRef(s.register(a,{...t.rules,value:l,...g(t.disabled)?{disabled:t.disabled}:{}})),m=e.useMemo((()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!y(c.errors,a)},isDirty:{enumerable:!0,get:()=>!!y(c.dirtyFields,a)},isTouched:{enumerable:!0,get:()=>!!y(c.touchedFields,a)},isValidating:{enumerable:!0,get:()=>!!y(c.validatingFields,a)},error:{enumerable:!0,get:()=>y(c.errors,a)}})),[c,a]),h=e.useMemo((()=>({name:a,value:l,...g(n)||c.disabled?{disabled:c.disabled||n}:{},onChange:e=>d.current.onChange({target:{value:u(e),name:a},type:v}),onBlur:()=>d.current.onBlur({target:{value:y(s._formValues,a),name:a},type:_}),ref:e=>{const t=y(s._fields,a);t&&e&&(t._f.ref={focus:()=>e.focus(),select:()=>e.select(),setCustomValidity:t=>e.setCustomValidity(t),reportValidity:()=>e.reportValidity()})}})),[a,s._formValues,n,c.disabled,l,s._fields]);return e.useEffect((()=>{const e=s._options.shouldUnregister||i,t=(e,t)=>{const r=y(s._fields,e);r&&r._f&&(r._f.mount=t)};if(t(a,!0),e){const e=f(y(s._options.defaultValues,a));p(s._defaultValues,a,e),b(y(s._formValues,a))&&p(s._formValues,a,e)}return!o&&s.register(a),()=>{(o?e&&!s._state.action:e)?s.unregister(a):t(a,!1)}}),[a,s,o,i]),e.useEffect((()=>{s._updateDisabledField({disabled:n,fields:s._fields,name:a})}),[n,a,s]),e.useMemo((()=>({field:h,formState:c,fieldState:m})),[h,c,m])}const k=e=>e.render(N(e));function S({core:t,...a}){return e.createElement(k,{render:({field:n,formState:{errors:i}})=>e.createElement(e.Fragment,null,e.createElement(r.InputTextarea,{...t,...n,invalid:!!i[a.name],ref:a.ref,required:a.required,onBlur:e=>a.onBlur?a.onBlur(e.target.value):n.onBlur(),onChange:e=>void 0!==a.onChange?a.onChange(e.target.value):n.onChange(e)}),e.createElement(s,{...a,errors:i})),control:a.control,name:a.name,rules:{required:!!a.required&&"Campo obrigatório"}})}function w({core:t,...a}){return e.createElement(e.Fragment,null,e.createElement(r.InputTextarea,{...t,ref:a.ref,value:a.value,onBlur:e=>{a.onBlur&&a.onBlur(e.target.value)},onChange:e=>a.onChange(e.target.value)}),e.createElement(s,{...a}))}exports.Textarea=function(t){let r=t,s={...i(r),autoResize:t.autoResize};return e.createElement(a,{className:t.className,css:t.css,size:t.size??"100"},e.createElement(n,{...t}),t.mode&&"Controlled"!==t.mode?e.createElement(S,{core:s,...r}):e.createElement(w,{core:s,...r}))};
1
+ "use strict";var e=require("react"),t=require("primereact/utils"),r=require("primereact/inputtextarea");function a(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var n=a(e);const s=({children:r,...a})=>{const n={size:`box-size-${a.size??"100"}`,direction:`box-direction-${a.direction??"row"}`,justify:void 0===a.justify?"":Array.isArray(a.justify)?a.justify?.join(" "):a.justify,align:void 0===a.align?"":Array.isArray(a.align)?a.align?.join(" "):a.align},s={className:t.classNames(["box",a.className??"",n.size,n.direction,n.justify,n.align]),style:a.css,id:a.id};return e.createElement("div",{...s},r)},i=({iconPrefix:t="bi bi-",...r})=>r.label&&e.createElement("p",{className:"form-label"},r.icon&&e.createElement("i",{className:t+r.icon+" me-1"}),r.label,r.required&&e.createElement("span",{className:"text-danger"},"*")),l=({errors:t,name:r,...a})=>a.mode&&"Controlled"!==a.mode?e.createElement("div",{className:t[r??""]?"invalid-feedback is-invalid":"","data-name":r??"",id:"j_feedback",style:{display:t[r??""]?"block":"none"}},t[r??""]?t[r??""].message:""):e.createElement("div",{"data-name":r,id:"j_feedback"});function o(e){return{ref:e.ref,id:e.id,name:e.name,required:e.required,disabled:e.disabled,placeholder:e.placeholder,className:e.className,style:{width:"100%"},keyfilter:e.keyfilter}}var c=e=>null==e;var u=e=>!c(e)&&!Array.isArray(e)&&(e=>"object"==typeof e)(e)&&!(e=>e instanceof Date)(e),d=e=>u(e)&&e.target?"checkbox"===e.target.type?e.target.checked:e.target.value:e,f="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function m(e){let t;const r=Array.isArray(e),a="undefined"!=typeof FileList&&e instanceof FileList;if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else{if(f&&(e instanceof Blob||a)||!r&&!u(e))return e;if(t=r?[]:{},r||(e=>{const t=e.constructor&&e.constructor.prototype;return u(t)&&t.hasOwnProperty("isPrototypeOf")})(e))for(const r in e)e.hasOwnProperty(r)&&(t[r]=m(e[r]));else t=e}return t}var b=e=>Array.isArray(e)?e.filter(Boolean):[],y=e=>void 0===e,g=(e,t,r)=>{if(!t||!u(e))return r;const a=b(t.split(/[,[\].]+?/)).reduce(((e,t)=>c(e)?e:e[t]),e);return y(a)||a===e?y(e[t])?r:e[t]:a},p=e=>"boolean"==typeof e,_=(e,t,r)=>{let a=-1;const n=(e=>/^\w*$/.test(e))(t)?[t]:b(t.replace(/["|']|\]/g,"").split(/\.|\[/));const s=n.length,i=s-1;for(;++a<s;){const t=n[a];let s=r;if(a!==i){const r=e[t];s=u(r)||Array.isArray(r)?r:isNaN(+n[a+1])?{}:[]}if("__proto__"===t||"constructor"===t||"prototype"===t)return;e[t]=s,e=e[t]}};const v="blur",h="change",E="all",V=e.createContext(null),x=()=>e.useContext(V);const C="undefined"!=typeof window?n.useLayoutEffect:n.useEffect;function j(t){const r=x(),{control:a=r.control,disabled:n,name:s,exact:i}=t||{},[l,o]=e.useState(a._formState),c=e.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return C((()=>a._subscribe({name:s,formState:c.current,exact:i,callback:e=>{!n&&o({...a._formState,...e})}})),[s,n,i]),e.useEffect((()=>{c.current.isValid&&a._setValid(!0)}),[a]),e.useMemo((()=>((e,t,r,a=!0)=>{const n={defaultValues:t._defaultValues};for(const s in e)Object.defineProperty(n,s,{get:()=>{const n=s;return t._proxyFormState[n]!==E&&(t._proxyFormState[n]=!a||E),r&&(r[n]=!0),e[n]}});return n})(l,a,c.current,!1)),[l,a])}function k(t){const r=x(),{control:a=r.control,name:n,defaultValue:s,disabled:i,exact:l}=t||{},o=e.useRef(s),[c,u]=e.useState(a._getWatch(n,o.current));return C((()=>a._subscribe({name:n,formState:{values:!0},exact:l,callback:e=>!i&&u(((e,t,r,a,n)=>"string"==typeof e?g(r,e,n):Array.isArray(e)?e.map((e=>g(r,e))):r)(n,a._names,e.values||a._formValues,0,o.current))})),[n,a,i,l]),e.useEffect((()=>a._removeUnmounted())),c}const w=t=>t.render(function(t){const r=x(),{name:a,disabled:n,control:s=r.control,shouldUnregister:i}=t,l=((e,t)=>e.has((e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e)(t)))(s._names.array,a),o=k({control:s,name:a,defaultValue:g(s._formValues,a,g(s._defaultValues,a,t.defaultValue)),exact:!0}),c=j({control:s,name:a,exact:!0}),u=e.useRef(t),f=e.useRef(s.register(a,{...t.rules,value:o,...p(t.disabled)?{disabled:t.disabled}:{}})),b=e.useMemo((()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!g(c.errors,a)},isDirty:{enumerable:!0,get:()=>!!g(c.dirtyFields,a)},isTouched:{enumerable:!0,get:()=>!!g(c.touchedFields,a)},isValidating:{enumerable:!0,get:()=>!!g(c.validatingFields,a)},error:{enumerable:!0,get:()=>g(c.errors,a)}})),[c,a]),E=e.useCallback((e=>f.current.onChange({target:{value:d(e),name:a},type:h})),[a]),V=e.useCallback((()=>f.current.onBlur({target:{value:g(s._formValues,a),name:a},type:v})),[a,s._formValues]),C=e.useCallback((e=>{const t=g(s._fields,a);t&&e&&(t._f.ref={focus:()=>e.focus(),select:()=>e.select(),setCustomValidity:t=>e.setCustomValidity(t),reportValidity:()=>e.reportValidity()})}),[s._fields,a]),w=e.useMemo((()=>({name:a,value:o,...p(n)||c.disabled?{disabled:c.disabled||n}:{},onChange:E,onBlur:V,ref:C})),[a,n,c.disabled,E,V,C,o]);return e.useEffect((()=>{const e=s._options.shouldUnregister||i;s.register(a,{...u.current.rules,...p(u.current.disabled)?{disabled:u.current.disabled}:{}});const t=(e,t)=>{const r=g(s._fields,e);r&&r._f&&(r._f.mount=t)};if(t(a,!0),e){const e=m(g(s._options.defaultValues,a));_(s._defaultValues,a,e),y(g(s._formValues,a))&&_(s._formValues,a,e)}return!l&&s.register(a),()=>{(l?e&&!s._state.action:e)?s.unregister(a):t(a,!1)}}),[a,s,l,i]),e.useEffect((()=>{s._setDisabledField({disabled:n,name:a})}),[n,a,s]),e.useMemo((()=>({field:w,formState:c,fieldState:b})),[w,c,b])}(t));function A({core:t,...a}){return e.createElement(w,{render:({field:n,formState:{errors:s}})=>e.createElement(e.Fragment,null,e.createElement(r.InputTextarea,{...t,...n,invalid:!!s[a.name],ref:a.ref,required:a.required,onBlur:e=>a.onBlur?a.onBlur(e.target.value):n.onBlur(),onChange:e=>void 0!==a.onChange?a.onChange(e.target.value):n.onChange(e)}),e.createElement(l,{...a,errors:s})),control:a.control,name:a.name,rules:{required:!!a.required&&"Campo obrigatório"}})}function F({core:t,...a}){return e.createElement(e.Fragment,null,e.createElement(r.InputTextarea,{...t,ref:a.ref,value:a.value,onBlur:e=>{a.onBlur&&a.onBlur(e.target.value)},onChange:e=>{a.onChange&&a.onChange(e.target.value)}}),e.createElement(l,{...a}))}exports.Textarea=function(t){let r=t,a={...o(r),autoResize:t.autoResize};return e.createElement(s,{className:t.className,css:t.css,size:t.size??"100"},e.createElement(i,{...t}),t.mode&&"Controlled"!==t.mode?e.createElement(A,{core:a,...r}):e.createElement(F,{core:a,...r}))};
2
2
  //# sourceMappingURL=index.cjs.js.map