@orangesix/react 1.0.9 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/index.cjs.js +1 -1
- package/api/index.cjs.js.map +1 -1
- package/api/index.d.ts +140 -2
- package/api/index.esm.js +1 -1
- package/api/index.esm.js.map +1 -1
- package/api/theme.css +1 -378
- package/box/index.cjs.js +1 -1
- package/box/index.cjs.js.map +1 -1
- package/box/index.d.ts +6 -3
- package/box/index.esm.js +1 -1
- package/box/index.esm.js.map +1 -1
- package/editor/index.cjs.js +1 -19
- package/editor/index.cjs.js.map +1 -1
- package/editor/index.d.ts +10 -15
- package/editor/index.esm.js +1 -19
- package/editor/index.esm.js.map +1 -1
- package/inputfilter/_inputfilter.scss +64 -0
- package/inputfilter/index.cjs.js +2 -0
- package/inputfilter/index.cjs.js.map +1 -0
- package/inputfilter/index.d.ts +161 -0
- package/inputfilter/index.esm.js +2 -0
- package/inputfilter/index.esm.js.map +1 -0
- package/inputfilter/package.json +5 -0
- package/package.json +13 -12
- package/table/index.cjs.js +1 -1
- package/table/index.cjs.js.map +1 -1
- package/table/index.d.ts +56 -52
- package/table/index.esm.js +1 -1
- package/table/index.esm.js.map +1 -1
- package/tablepivot/_tablepivot.scss +101 -0
- package/tablepivot/index.cjs.js +2 -0
- package/tablepivot/index.cjs.js.map +1 -0
- package/tablepivot/index.d.ts +256 -0
- package/tablepivot/index.esm.js +2 -0
- package/tablepivot/index.esm.js.map +1 -0
- package/tablepivot/package.json +5 -0
- package/utils/index.cjs.js +1 -1
- package/utils/index.cjs.js.map +1 -1
- package/utils/index.d.ts +25 -1
- package/utils/index.esm.js +1 -1
- package/utils/index.esm.js.map +1 -1
package/table/index.cjs.js.map
CHANGED
|
@@ -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/selection.tsx","../../src/table/core/pagination.tsx","../../src/table/styled.ts","../../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 };\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 };\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, 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 { PaginatorChangeEvent } from \"primereact/paginator\";\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 paginatorClassName: \"pagination\",\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 <p className=\"text-secondary mx-2\"\r\n style={{ fontSize: \".9em\" }}>Total de registros: {options.totalRecords}</p>\r\n );\r\n },\r\n RowsPerPageDropdown: options => {\r\n return (\r\n <select className=\"form-select form-select-sm mx-2\"\r\n style={{ maxWidth: \"60px\" }}\r\n value={options.value}\r\n onChange={(e) => {\r\n const event = {} as PaginatorChangeEvent;\r\n // @ts-ignore\r\n event.value = Number(e.target.value);\r\n options.onChange(event);\r\n }}>\r\n {options.options.map(obj => <option key={obj.value}\r\n value={obj.value}>{obj.label}</option>)}\r\n </select>\r\n );\r\n }\r\n },\r\n paginatorRight: props.templatePaginationRight,\r\n paginatorLeft: props.templatePaginationLeft,\r\n onPage: props.lazy !== undefined ? onPage : undefined,\r\n };\r\n}","import { TableProps } from \"./types\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { ColumnPassThroughOptions } from \"primereact/column\";\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 root: {\r\n className: \"table-responsive\"\r\n },\r\n table: {\r\n className: classNames([\r\n \"table\",\r\n props.styleHover ? \"table-hover\" : \"\",\r\n props.styleStriped ? \"table-striped\" : \"\",\r\n props.styleSize === \"small\" ? \"table-sm\" : \"\",\r\n props.styleType === \"bordered\" ? \"table-bordered\" : props.styleType === \"borderless\" ? \"table-borderless\" : \"\",\r\n ]),\r\n },\r\n header: {\r\n className: \"table-header\",\r\n },\r\n footer: {\r\n className: \"table-footer\"\r\n },\r\n paginator: {\r\n root: {\r\n className: classNames([\r\n \"p-0 d-flex mb-1 mt-2\",\r\n `justify-content-${props.paginatorAlign ?? \"center\"}`\r\n ]),\r\n style: { borderTop: \"none\" }\r\n },\r\n firstPageButton: {\r\n style: { borderTopLeftRadius: \"3px\", borderBottomLeftRadius: \"3px\" }\r\n },\r\n lastPageButton: {\r\n style: { borderTopRightRadius: \"3px\", borderBottomRightRadius: \"3px\" }\r\n }\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Realiza a personalização na COLUNA da tabela\r\n */\r\nexport function bootstrapColumnStyle(): ColumnPassThroughOptions {\r\n\r\n return {\r\n sort: {\r\n className: \"table-sort\"\r\n },\r\n headerCell: (options) => {\r\n return {\r\n className: classNames([\r\n options?.context.sorted ? \"table-sort-active\" : \"\",\r\n ])\r\n };\r\n },\r\n bodyCell: {\r\n className: \"table-resizable\"\r\n },\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 { DataTable } from \"primereact/datatable\";\r\nimport { tableSelection } from \"./core/selection\";\r\nimport { tablePagination } from \"./core/pagination\";\r\nimport { bootstrapColumnStyle, bootstrapTableStyle } from \"./styled\";\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 {...tableSelection(props)}\r\n {...tablePagination(props)}\r\n {...tableGroup(props, expandedRows, setExpandedRows)}>\r\n {props.selectionMode === \"checkbox\"\r\n && <Column align=\"center\"\r\n headerStyle={{ width: \"2.5rem\" }}\r\n pt={{ ...bootstrapColumnStyle() }}\r\n selectionMode=\"multiple\"/>}\r\n {props.column.map(obj => {\r\n return (\r\n <Column\r\n unstyled\r\n align={obj.align}\r\n alignFrozen={obj.frozen ? \"right\" : undefined}\r\n alignHeader={obj.alignHeader}\r\n body={obj.body}\r\n field={obj.id}\r\n frozen={obj.frozen !== undefined}\r\n header={obj.header}\r\n key={obj.id}\r\n pt={{ ...bootstrapColumnStyle() }}\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","React","createElement","tableCore","value","data","dataKey","lazy","resizableColumns","styleResizable","columnResizeMode","emptyMessage","header","templeteHeader","footer","templateFooter","tableSort","sortField","sortOrder","onSort","event","tableGroup","expandedRows","setExpandedRows","groupRowsBy","rowGroup","rowGroupMode","rowGroupHeaderTemplate","rowGroupFooterTemplate","expandableRowGroups","rowExpandable","onRowToggle","tableSelection","metaKeySelection","onSelection","selection","selectionMode","onSelectionChange","e","tablePagination","paginator","paginatorClassName","totalRecords","paginationTotal","first","paginationPage","paginatorRow","rows","rowsPerPageOptions","paginatorTemplate","layout","CurrentPageReport","options","fontSize","RowsPerPageDropdown","maxWidth","onChange","Number","target","map","obj","key","label","paginatorRight","templatePaginationRight","paginatorLeft","templatePaginationLeft","onPage","onPaginator","bootstrapTableStyle","root","table","styleHover","styleStriped","styleSize","styleType","paginatorAlign","borderTop","firstPageButton","borderTopLeftRadius","borderBottomLeftRadius","lastPageButton","borderTopRightRadius","borderBottomRightRadius","bootstrapColumnStyle","sort","headerCell","context","sorted","bodyCell","useState","DataTable","pt","tableClassName","Column","headerStyle","width","column","unstyled","alignFrozen","frozen","alignHeader","body","field","id","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/group.tsx","../../src/table/core/selection.tsx","../../src/table/core/pagination.tsx","../../src/table/styled.ts","../../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 };\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, 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 { PaginatorChangeEvent } from \"primereact/paginator\";\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 paginatorClassName: \"pagination\",\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 <p className=\"text-secondary mx-2\"\r\n style={{ fontSize: \".9em\" }}>Total de registros: {options.totalRecords}</p>\r\n );\r\n },\r\n RowsPerPageDropdown: options => {\r\n return (\r\n <select className=\"form-select form-select-sm mx-2\"\r\n style={{ maxWidth: \"60px\" }}\r\n value={options.value}\r\n onChange={(e) => {\r\n const event = {} as PaginatorChangeEvent;\r\n // @ts-ignore\r\n event.value = Number(e.target.value);\r\n options.onChange(event);\r\n }}>\r\n {options.options.map(obj => <option key={obj.value}\r\n value={obj.value}>{obj.label}</option>)}\r\n </select>\r\n );\r\n }\r\n },\r\n paginatorRight: props.templatePaginationRight,\r\n paginatorLeft: props.templatePaginationLeft,\r\n onPage: props.lazy !== undefined ? onPage : undefined,\r\n };\r\n}","import { TableProps } from \"./types\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { ColumnPassThroughOptions } from \"primereact/column\";\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 root: {\r\n className: \"table-responsive\"\r\n },\r\n table: {\r\n className: classNames([\r\n \"table\",\r\n props.styleHover ? \"table-hover\" : \"\",\r\n props.styleStriped ? \"table-striped\" : \"\",\r\n props.styleSize === \"small\" ? \"table-sm\" : \"\",\r\n props.styleType === \"bordered\" ? \"table-bordered\" : props.styleType === \"borderless\" ? \"table-borderless\" : \"\",\r\n ]),\r\n },\r\n header: {\r\n className: \"table-header\",\r\n },\r\n footer: {\r\n className: \"table-footer\"\r\n },\r\n paginator: {\r\n root: {\r\n className: classNames([\r\n \"p-0 d-flex mb-1 mt-2\",\r\n `justify-content-${props.paginatorAlign ?? \"center\"}`\r\n ]),\r\n style: { borderTop: \"none\" }\r\n },\r\n firstPageButton: {\r\n style: { borderTopLeftRadius: \"3px\", borderBottomLeftRadius: \"3px\" }\r\n },\r\n lastPageButton: {\r\n style: { borderTopRightRadius: \"3px\", borderBottomRightRadius: \"3px\" }\r\n }\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Realiza a personalização na COLUNA da tabela\r\n */\r\nexport function bootstrapColumnStyle(): ColumnPassThroughOptions {\r\n\r\n return {\r\n sort: {\r\n className: \"table-sort\"\r\n },\r\n headerCell: (options) => {\r\n return {\r\n className: classNames([\r\n options?.context.sorted ? \"table-sort-active\" : \"\",\r\n ])\r\n };\r\n },\r\n bodyCell: {\r\n className: \"table-resizable\"\r\n },\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 { DataTable } from \"primereact/datatable\";\r\nimport { tableSelection } from \"./core/selection\";\r\nimport { tablePagination } from \"./core/pagination\";\r\nimport { bootstrapColumnStyle, bootstrapTableStyle } from \"./styled\";\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 {...tableSelection(props)}\r\n {...tablePagination(props)}\r\n {...tableGroup(props, expandedRows, setExpandedRows)}>\r\n {props.selectionMode === \"checkbox\"\r\n && <Column align=\"center\"\r\n headerStyle={{ width: \"2.5rem\" }}\r\n pt={{ ...bootstrapColumnStyle() }}\r\n selectionMode=\"multiple\"/>}\r\n {props.column.map(obj => {\r\n return (\r\n <Column\r\n unstyled\r\n align={obj.align}\r\n alignFrozen={obj.frozen ? \"right\" : undefined}\r\n alignHeader={obj.alignHeader}\r\n body={obj.body}\r\n field={obj.id}\r\n frozen={obj.frozen !== undefined}\r\n header={obj.header}\r\n key={obj.id}\r\n pt={{ ...bootstrapColumnStyle() }}\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","tableSort","sortField","sortOrder","onSort","event","tableGroup","expandedRows","setExpandedRows","groupRowsBy","rowGroup","rowGroupMode","rowGroupHeaderTemplate","rowGroupFooterTemplate","expandableRowGroups","rowExpandable","onRowToggle","tableSelection","metaKeySelection","onSelection","selection","selectionMode","onSelectionChange","e","tablePagination","paginator","paginatorClassName","totalRecords","paginationTotal","first","paginationPage","paginatorRow","rows","rowsPerPageOptions","paginatorTemplate","layout","CurrentPageReport","options","fontSize","RowsPerPageDropdown","maxWidth","onChange","Number","target","map","obj","key","label","paginatorRight","templatePaginationRight","paginatorLeft","templatePaginationLeft","onPage","onPaginator","bootstrapTableStyle","root","table","styleHover","styleStriped","styleSize","styleType","paginatorAlign","borderTop","firstPageButton","borderTopLeftRadius","borderBottomLeftRadius","lastPageButton","borderTopRightRadius","borderBottomRightRadius","bootstrapColumnStyle","sort","headerCell","context","sorted","bodyCell","useState","DataTable","pt","tableClassName","Column","headerStyle","width","column","unstyled","alignFrozen","frozen","alignHeader","body","field","sortable"],"mappings":"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"}
|
package/table/index.d.ts
CHANGED
|
@@ -1,54 +1,6 @@
|
|
|
1
|
+
import { SortOrder } from 'primereact/datatable';
|
|
1
2
|
import React, { CSSProperties } from 'react';
|
|
2
3
|
import { ColumnHeaderOptions, ColumnBodyOptions } from 'primereact/column';
|
|
3
|
-
import { SortOrder } from 'primereact/datatable';
|
|
4
|
-
|
|
5
|
-
interface TableColumnProps {
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Propriedade de dados de uma linha.
|
|
9
|
-
*/
|
|
10
|
-
id: string
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Conteúdo do cabeçalho da tabela.
|
|
14
|
-
*/
|
|
15
|
-
header: React.ReactNode | ((options: ColumnHeaderOptions) => React.ReactNode)
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Alinha o conteúdo da coluna, os valores válidos são à esquerda, à direita e ao centro.
|
|
19
|
-
*/
|
|
20
|
-
align?: null | "center" | "left" | "right"
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Alinha o header da coluna, os valores válidos são à esquerda, à direita e ao centro.
|
|
24
|
-
*/
|
|
25
|
-
alignHeader?: null | "center" | "left" | "right"
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Classe de estilo do componente.
|
|
29
|
-
*/
|
|
30
|
-
className?: string
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Define se o campo vai ser ordernado
|
|
34
|
-
*/
|
|
35
|
-
sort?: boolean
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Conteúdo do corpo da coluna.
|
|
39
|
-
*/
|
|
40
|
-
body?: (data: any, options: ColumnBodyOptions) => React.ReactNode
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Define as propriedades `css` para cada coluna
|
|
44
|
-
*/
|
|
45
|
-
style?: CSSProperties
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Define se coluna vai ser congelada e qual posição
|
|
49
|
-
*/
|
|
50
|
-
frozen?: boolean
|
|
51
|
-
}
|
|
52
4
|
|
|
53
5
|
interface TableSortProps {
|
|
54
6
|
|
|
@@ -90,6 +42,11 @@ interface TableGroupProps {
|
|
|
90
42
|
*/
|
|
91
43
|
interface ApiComponentProps {
|
|
92
44
|
|
|
45
|
+
/**
|
|
46
|
+
* Propriedade para identificar o id do elemento
|
|
47
|
+
*/
|
|
48
|
+
id?: string
|
|
49
|
+
|
|
93
50
|
/**
|
|
94
51
|
* Adiciona no atributo `class` do componente o valor atribuido nessa propriedade
|
|
95
52
|
*/
|
|
@@ -133,6 +90,54 @@ interface TableStyleProps {
|
|
|
133
90
|
styleSize?: "small"
|
|
134
91
|
}
|
|
135
92
|
|
|
93
|
+
interface TableColumnProps {
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Propriedade de dados de uma linha.
|
|
97
|
+
*/
|
|
98
|
+
id: string
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Conteúdo do cabeçalho da tabela.
|
|
102
|
+
*/
|
|
103
|
+
header: React.ReactNode | ((options: ColumnHeaderOptions) => React.ReactNode)
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Alinha o conteúdo da coluna, os valores válidos são à esquerda, à direita e ao centro.
|
|
107
|
+
*/
|
|
108
|
+
align?: null | "center" | "left" | "right"
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Alinha o header da coluna, os valores válidos são à esquerda, à direita e ao centro.
|
|
112
|
+
*/
|
|
113
|
+
alignHeader?: null | "center" | "left" | "right"
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Classe de estilo do componente.
|
|
117
|
+
*/
|
|
118
|
+
className?: string
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Define se o campo vai ser ordernado
|
|
122
|
+
*/
|
|
123
|
+
sort?: boolean
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Conteúdo do corpo da coluna.
|
|
127
|
+
*/
|
|
128
|
+
body?: (data: any, options: ColumnBodyOptions) => React.ReactNode
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Define as propriedades `css` para cada coluna
|
|
132
|
+
*/
|
|
133
|
+
style?: CSSProperties
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Define se coluna vai ser congelada e qual posição
|
|
137
|
+
*/
|
|
138
|
+
frozen?: boolean
|
|
139
|
+
}
|
|
140
|
+
|
|
136
141
|
interface TableTemplateProps {
|
|
137
142
|
/**
|
|
138
143
|
* Conteúdo do cabeçalho personalizado.
|
|
@@ -249,8 +254,7 @@ interface TableProps<T> extends TableStyleProps, TableSelectionProps, TableTempl
|
|
|
249
254
|
*/
|
|
250
255
|
declare function Table<T = any>(props: TableProps<T>): React.JSX.Element;
|
|
251
256
|
|
|
252
|
-
type ITableProps<T = any> = TableProps<T>;
|
|
253
|
-
type ITableColumnProps = TableColumnProps;
|
|
254
257
|
type ITableLazyProps = TableLazyProps;
|
|
258
|
+
type ITableColumnProps = TableColumnProps;
|
|
255
259
|
|
|
256
|
-
export { type ITableColumnProps, type ITableLazyProps,
|
|
260
|
+
export { type ITableColumnProps, type ITableLazyProps, Table };
|
package/table/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{useState as t}from"react";import{classNames as o}from"primereact/utils";import{Column as a}from"primereact/column";import{DataTable as r}from"primereact/datatable";const n=({children:t,...a})=>{const r={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},n={className:o(["box",a.className??"",r.size,r.direction,r.justify,r.align]),style:a.css};return e.createElement("div",{...n},t)};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}}function l(e){return{sortField:e.lazy?.sortField,sortOrder:e.lazy?.sortOrder??null,onSort:void 0!==e.lazy?function(t){e.onSort&&e.onSort(t.sortField,t.sortOrder)}:void 0}}function s(e,t,o){return{groupRowsBy:e.rowGroup,rowGroupMode:e.rowGroupMode,rowGroupHeaderTemplate:e.rowGroupHeaderTemplate,rowGroupFooterTemplate:e.rowGroupFooterTemplate,expandableRowGroups:e.rowExpandable??!1,expandedRows:t,onRowToggle(e){o(e.data)}}}function d(e){return{metaKeySelection:void 0!==e.onSelection,selection:e.selection,selectionMode:void 0!==e.onSelection?e.selectionMode??"single":void 0,onSelectionChange:function(t){e.onSelection&&e.onSelection(t.value)}}}function p(t){return{paginator:t.paginator??!1,paginatorClassName:"pagination",totalRecords:t?.lazy?.paginationTotal??void 0,first:void 0===t?.lazy?.paginationPage?0:((t?.lazy?.paginationPage??0)-1)*(t.paginatorRow??10),rows:t.paginator?t.paginatorRow??10:void 0,rowsPerPageOptions:[5,10,15,20,50,100],paginatorTemplate:{layout:"RowsPerPageDropdown FirstPageLink PageLinks LastPageLink CurrentPageReport",CurrentPageReport:t=>e.createElement("p",{className:"text-secondary mx-2",style:{fontSize:".9em"}},"Total de registros: ",t.totalRecords),RowsPerPageDropdown:t=>e.createElement("select",{className:"form-select form-select-sm mx-2",style:{maxWidth:"60px"},value:t.value,onChange:e=>{const o={};o.value=Number(e.target.value),t.onChange(o)}},t.options.map((t=>e.createElement("option",{key:t.value,value:t.value},t.label))))},paginatorRight:t.templatePaginationRight,paginatorLeft:t.templatePaginationLeft,onPage:void 0!==t.lazy?function(e){let o=e.first/(t.paginatorRow??10);t.onPaginator&&t.onPaginator(o+1,e.rows)}:void 0}}function c(e){return{root:{className:"table-responsive"},table:{className:o(["table",e.styleHover?"table-hover":"",e.styleStriped?"table-striped":"","small"===e.styleSize?"table-sm":"","bordered"===e.styleType?"table-bordered":"borderless"===e.styleType?"table-borderless":""])},header:{className:"table-header"},footer:{className:"table-footer"},paginator:{root:{className:o(["p-0 d-flex mb-1 mt-2",`justify-content-${e.paginatorAlign??"center"}`]),style:{borderTop:"none"}},firstPageButton:{style:{borderTopLeftRadius:"3px",borderBottomLeftRadius:"3px"}},lastPageButton:{style:{borderTopRightRadius:"3px",borderBottomRightRadius:"3px"}}}}}function m(){return{sort:{className:"table-sort"},headerCell:e=>({className:o([e?.context.sorted?"table-sort-active":""])}),bodyCell:{className:"table-resizable"}}}function u(o){const[u,g]=t([]);return e.createElement(n,{className:"p-0",size:o.size??"100"},e.createElement(r,{pt:{...c(o)},tableClassName:o.className,...i(o),...l(o),...d(o),...p(o),...s(o,u,g)},"checkbox"===o.selectionMode&&e.createElement(a,{align:"center",headerStyle:{width:"2.5rem"},pt:{...m()},selectionMode:"multiple"}),o.column.map((t=>e.createElement(a,{unstyled:!0,align:t.align,alignFrozen:t.frozen?"right":void 0,alignHeader:t.alignHeader,body:t.body,field:t.id,frozen:void 0!==t.frozen,header:t.header,key:t.id,pt:{...m()},sortable:t.sort??!1,style:t.style})))))}export{u as Table};
|
|
1
|
+
import e,{useState as t}from"react";import{classNames as o}from"primereact/utils";import{Column as a}from"primereact/column";import{DataTable as r}from"primereact/datatable";const n=({children:t,...a})=>{const r={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},n={className:o(["box",a.className??"",r.size,r.direction,r.justify,r.align]),style:a.css,id:a.id};return e.createElement("div",{...n},t)};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}}function l(e){return{sortField:e.lazy?.sortField,sortOrder:e.lazy?.sortOrder??null,onSort:void 0!==e.lazy?function(t){e.onSort&&e.onSort(t.sortField,t.sortOrder)}:void 0}}function s(e,t,o){return{groupRowsBy:e.rowGroup,rowGroupMode:e.rowGroupMode,rowGroupHeaderTemplate:e.rowGroupHeaderTemplate,rowGroupFooterTemplate:e.rowGroupFooterTemplate,expandableRowGroups:e.rowExpandable??!1,expandedRows:t,onRowToggle(e){o(e.data)}}}function d(e){return{metaKeySelection:void 0!==e.onSelection,selection:e.selection,selectionMode:void 0!==e.onSelection?e.selectionMode??"single":void 0,onSelectionChange:function(t){e.onSelection&&e.onSelection(t.value)}}}function p(t){return{paginator:t.paginator??!1,paginatorClassName:"pagination",totalRecords:t?.lazy?.paginationTotal??void 0,first:void 0===t?.lazy?.paginationPage?0:((t?.lazy?.paginationPage??0)-1)*(t.paginatorRow??10),rows:t.paginator?t.paginatorRow??10:void 0,rowsPerPageOptions:[5,10,15,20,50,100],paginatorTemplate:{layout:"RowsPerPageDropdown FirstPageLink PageLinks LastPageLink CurrentPageReport",CurrentPageReport:t=>e.createElement("p",{className:"text-secondary mx-2",style:{fontSize:".9em"}},"Total de registros: ",t.totalRecords),RowsPerPageDropdown:t=>e.createElement("select",{className:"form-select form-select-sm mx-2",style:{maxWidth:"60px"},value:t.value,onChange:e=>{const o={};o.value=Number(e.target.value),t.onChange(o)}},t.options.map((t=>e.createElement("option",{key:t.value,value:t.value},t.label))))},paginatorRight:t.templatePaginationRight,paginatorLeft:t.templatePaginationLeft,onPage:void 0!==t.lazy?function(e){let o=e.first/(t.paginatorRow??10);t.onPaginator&&t.onPaginator(o+1,e.rows)}:void 0}}function c(e){return{root:{className:"table-responsive"},table:{className:o(["table",e.styleHover?"table-hover":"",e.styleStriped?"table-striped":"","small"===e.styleSize?"table-sm":"","bordered"===e.styleType?"table-bordered":"borderless"===e.styleType?"table-borderless":""])},header:{className:"table-header"},footer:{className:"table-footer"},paginator:{root:{className:o(["p-0 d-flex mb-1 mt-2",`justify-content-${e.paginatorAlign??"center"}`]),style:{borderTop:"none"}},firstPageButton:{style:{borderTopLeftRadius:"3px",borderBottomLeftRadius:"3px"}},lastPageButton:{style:{borderTopRightRadius:"3px",borderBottomRightRadius:"3px"}}}}}function m(){return{sort:{className:"table-sort"},headerCell:e=>({className:o([e?.context.sorted?"table-sort-active":""])}),bodyCell:{className:"table-resizable"}}}function u(o){const[u,g]=t([]);return e.createElement(n,{className:"p-0",size:o.size??"100"},e.createElement(r,{pt:{...c(o)},tableClassName:o.className,...i(o),...l(o),...d(o),...p(o),...s(o,u,g)},"checkbox"===o.selectionMode&&e.createElement(a,{align:"center",headerStyle:{width:"2.5rem"},pt:{...m()},selectionMode:"multiple"}),o.column.map((t=>e.createElement(a,{unstyled:!0,align:t.align,alignFrozen:t.frozen?"right":void 0,alignHeader:t.alignHeader,body:t.body,field:t.id,frozen:void 0!==t.frozen,header:t.header,key:t.id,pt:{...m()},sortable:t.sort??!1,style:t.style})))))}export{u as Table};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
package/table/index.esm.js.map
CHANGED
|
@@ -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/selection.tsx","../../src/table/core/pagination.tsx","../../src/table/styled.ts","../../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 };\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 };\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, 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 { PaginatorChangeEvent } from \"primereact/paginator\";\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 paginatorClassName: \"pagination\",\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 <p className=\"text-secondary mx-2\"\r\n style={{ fontSize: \".9em\" }}>Total de registros: {options.totalRecords}</p>\r\n );\r\n },\r\n RowsPerPageDropdown: options => {\r\n return (\r\n <select className=\"form-select form-select-sm mx-2\"\r\n style={{ maxWidth: \"60px\" }}\r\n value={options.value}\r\n onChange={(e) => {\r\n const event = {} as PaginatorChangeEvent;\r\n // @ts-ignore\r\n event.value = Number(e.target.value);\r\n options.onChange(event);\r\n }}>\r\n {options.options.map(obj => <option key={obj.value}\r\n value={obj.value}>{obj.label}</option>)}\r\n </select>\r\n );\r\n }\r\n },\r\n paginatorRight: props.templatePaginationRight,\r\n paginatorLeft: props.templatePaginationLeft,\r\n onPage: props.lazy !== undefined ? onPage : undefined,\r\n };\r\n}","import { TableProps } from \"./types\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { ColumnPassThroughOptions } from \"primereact/column\";\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 root: {\r\n className: \"table-responsive\"\r\n },\r\n table: {\r\n className: classNames([\r\n \"table\",\r\n props.styleHover ? \"table-hover\" : \"\",\r\n props.styleStriped ? \"table-striped\" : \"\",\r\n props.styleSize === \"small\" ? \"table-sm\" : \"\",\r\n props.styleType === \"bordered\" ? \"table-bordered\" : props.styleType === \"borderless\" ? \"table-borderless\" : \"\",\r\n ]),\r\n },\r\n header: {\r\n className: \"table-header\",\r\n },\r\n footer: {\r\n className: \"table-footer\"\r\n },\r\n paginator: {\r\n root: {\r\n className: classNames([\r\n \"p-0 d-flex mb-1 mt-2\",\r\n `justify-content-${props.paginatorAlign ?? \"center\"}`\r\n ]),\r\n style: { borderTop: \"none\" }\r\n },\r\n firstPageButton: {\r\n style: { borderTopLeftRadius: \"3px\", borderBottomLeftRadius: \"3px\" }\r\n },\r\n lastPageButton: {\r\n style: { borderTopRightRadius: \"3px\", borderBottomRightRadius: \"3px\" }\r\n }\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Realiza a personalização na COLUNA da tabela\r\n */\r\nexport function bootstrapColumnStyle(): ColumnPassThroughOptions {\r\n\r\n return {\r\n sort: {\r\n className: \"table-sort\"\r\n },\r\n headerCell: (options) => {\r\n return {\r\n className: classNames([\r\n options?.context.sorted ? \"table-sort-active\" : \"\",\r\n ])\r\n };\r\n },\r\n bodyCell: {\r\n className: \"table-resizable\"\r\n },\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 { DataTable } from \"primereact/datatable\";\r\nimport { tableSelection } from \"./core/selection\";\r\nimport { tablePagination } from \"./core/pagination\";\r\nimport { bootstrapColumnStyle, bootstrapTableStyle } from \"./styled\";\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 {...tableSelection(props)}\r\n {...tablePagination(props)}\r\n {...tableGroup(props, expandedRows, setExpandedRows)}>\r\n {props.selectionMode === \"checkbox\"\r\n && <Column align=\"center\"\r\n headerStyle={{ width: \"2.5rem\" }}\r\n pt={{ ...bootstrapColumnStyle() }}\r\n selectionMode=\"multiple\"/>}\r\n {props.column.map(obj => {\r\n return (\r\n <Column\r\n unstyled\r\n align={obj.align}\r\n alignFrozen={obj.frozen ? \"right\" : undefined}\r\n alignHeader={obj.alignHeader}\r\n body={obj.body}\r\n field={obj.id}\r\n frozen={obj.frozen !== undefined}\r\n header={obj.header}\r\n key={obj.id}\r\n pt={{ ...bootstrapColumnStyle() }}\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","React","createElement","tableCore","value","data","dataKey","lazy","resizableColumns","styleResizable","columnResizeMode","emptyMessage","header","templeteHeader","footer","templateFooter","tableSort","sortField","sortOrder","onSort","event","tableGroup","expandedRows","setExpandedRows","groupRowsBy","rowGroup","rowGroupMode","rowGroupHeaderTemplate","rowGroupFooterTemplate","expandableRowGroups","rowExpandable","onRowToggle","tableSelection","metaKeySelection","onSelection","selection","selectionMode","onSelectionChange","e","tablePagination","paginator","paginatorClassName","totalRecords","paginationTotal","first","paginationPage","paginatorRow","rows","rowsPerPageOptions","paginatorTemplate","layout","CurrentPageReport","options","fontSize","RowsPerPageDropdown","maxWidth","onChange","Number","target","map","obj","key","label","paginatorRight","templatePaginationRight","paginatorLeft","templatePaginationLeft","onPage","onPaginator","bootstrapTableStyle","root","table","styleHover","styleStriped","styleSize","styleType","paginatorAlign","borderTop","firstPageButton","borderTopLeftRadius","borderBottomLeftRadius","lastPageButton","borderTopRightRadius","borderBottomRightRadius","bootstrapColumnStyle","sort","headerCell","context","sorted","bodyCell","Table","useState","DataTable","pt","tableClassName","Column","headerStyle","width","column","unstyled","alignFrozen","frozen","alignHeader","body","field","id","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/group.tsx","../../src/table/core/selection.tsx","../../src/table/core/pagination.tsx","../../src/table/styled.ts","../../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 };\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, 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 { PaginatorChangeEvent } from \"primereact/paginator\";\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 paginatorClassName: \"pagination\",\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 <p className=\"text-secondary mx-2\"\r\n style={{ fontSize: \".9em\" }}>Total de registros: {options.totalRecords}</p>\r\n );\r\n },\r\n RowsPerPageDropdown: options => {\r\n return (\r\n <select className=\"form-select form-select-sm mx-2\"\r\n style={{ maxWidth: \"60px\" }}\r\n value={options.value}\r\n onChange={(e) => {\r\n const event = {} as PaginatorChangeEvent;\r\n // @ts-ignore\r\n event.value = Number(e.target.value);\r\n options.onChange(event);\r\n }}>\r\n {options.options.map(obj => <option key={obj.value}\r\n value={obj.value}>{obj.label}</option>)}\r\n </select>\r\n );\r\n }\r\n },\r\n paginatorRight: props.templatePaginationRight,\r\n paginatorLeft: props.templatePaginationLeft,\r\n onPage: props.lazy !== undefined ? onPage : undefined,\r\n };\r\n}","import { TableProps } from \"./types\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { ColumnPassThroughOptions } from \"primereact/column\";\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 root: {\r\n className: \"table-responsive\"\r\n },\r\n table: {\r\n className: classNames([\r\n \"table\",\r\n props.styleHover ? \"table-hover\" : \"\",\r\n props.styleStriped ? \"table-striped\" : \"\",\r\n props.styleSize === \"small\" ? \"table-sm\" : \"\",\r\n props.styleType === \"bordered\" ? \"table-bordered\" : props.styleType === \"borderless\" ? \"table-borderless\" : \"\",\r\n ]),\r\n },\r\n header: {\r\n className: \"table-header\",\r\n },\r\n footer: {\r\n className: \"table-footer\"\r\n },\r\n paginator: {\r\n root: {\r\n className: classNames([\r\n \"p-0 d-flex mb-1 mt-2\",\r\n `justify-content-${props.paginatorAlign ?? \"center\"}`\r\n ]),\r\n style: { borderTop: \"none\" }\r\n },\r\n firstPageButton: {\r\n style: { borderTopLeftRadius: \"3px\", borderBottomLeftRadius: \"3px\" }\r\n },\r\n lastPageButton: {\r\n style: { borderTopRightRadius: \"3px\", borderBottomRightRadius: \"3px\" }\r\n }\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Realiza a personalização na COLUNA da tabela\r\n */\r\nexport function bootstrapColumnStyle(): ColumnPassThroughOptions {\r\n\r\n return {\r\n sort: {\r\n className: \"table-sort\"\r\n },\r\n headerCell: (options) => {\r\n return {\r\n className: classNames([\r\n options?.context.sorted ? \"table-sort-active\" : \"\",\r\n ])\r\n };\r\n },\r\n bodyCell: {\r\n className: \"table-resizable\"\r\n },\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 { DataTable } from \"primereact/datatable\";\r\nimport { tableSelection } from \"./core/selection\";\r\nimport { tablePagination } from \"./core/pagination\";\r\nimport { bootstrapColumnStyle, bootstrapTableStyle } from \"./styled\";\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 {...tableSelection(props)}\r\n {...tablePagination(props)}\r\n {...tableGroup(props, expandedRows, setExpandedRows)}>\r\n {props.selectionMode === \"checkbox\"\r\n && <Column align=\"center\"\r\n headerStyle={{ width: \"2.5rem\" }}\r\n pt={{ ...bootstrapColumnStyle() }}\r\n selectionMode=\"multiple\"/>}\r\n {props.column.map(obj => {\r\n return (\r\n <Column\r\n unstyled\r\n align={obj.align}\r\n alignFrozen={obj.frozen ? \"right\" : undefined}\r\n alignHeader={obj.alignHeader}\r\n body={obj.body}\r\n field={obj.id}\r\n frozen={obj.frozen !== undefined}\r\n header={obj.header}\r\n key={obj.id}\r\n pt={{ ...bootstrapColumnStyle() }}\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","tableSort","sortField","sortOrder","onSort","event","tableGroup","expandedRows","setExpandedRows","groupRowsBy","rowGroup","rowGroupMode","rowGroupHeaderTemplate","rowGroupFooterTemplate","expandableRowGroups","rowExpandable","onRowToggle","tableSelection","metaKeySelection","onSelection","selection","selectionMode","onSelectionChange","e","tablePagination","paginator","paginatorClassName","totalRecords","paginationTotal","first","paginationPage","paginatorRow","rows","rowsPerPageOptions","paginatorTemplate","layout","CurrentPageReport","options","fontSize","RowsPerPageDropdown","maxWidth","onChange","Number","target","map","obj","key","label","paginatorRight","templatePaginationRight","paginatorLeft","templatePaginationLeft","onPage","onPaginator","bootstrapTableStyle","root","table","styleHover","styleStriped","styleSize","styleType","paginatorAlign","borderTop","firstPageButton","borderTopLeftRadius","borderBottomLeftRadius","lastPageButton","borderTopRightRadius","borderBottomRightRadius","bootstrapColumnStyle","sort","headerCell","context","sorted","bodyCell","Table","useState","DataTable","pt","tableClassName","Column","headerStyle","width","column","unstyled","alignFrozen","frozen","alignHeader","body","field","sortable"],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--table-pivot-toolbar-font-size: .9em;
|
|
3
|
+
|
|
4
|
+
--table-pivot-border-radius: 5px;
|
|
5
|
+
--table-pivot-border-color: var(--bs-gray-300, #e5e5e5);
|
|
6
|
+
|
|
7
|
+
--table-pivot-background: var(--bs-white, #fff);
|
|
8
|
+
--table-pivot-background-toolbar: transparent;
|
|
9
|
+
--table-pivot-background-header: #f2f2f2;
|
|
10
|
+
--table-pivot-background-filter: #e0e0e0;
|
|
11
|
+
|
|
12
|
+
--table-pivot-modal-padding: 1rem;
|
|
13
|
+
--table-pivot-modal-btn-font-size: .9em;
|
|
14
|
+
--table-pivot-modal-btn-padding: .375rem .5rem;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.pivot-table {
|
|
18
|
+
position: relative;
|
|
19
|
+
border: 1px dashed var(--table-pivot-border-color);
|
|
20
|
+
border-radius: var(--table-pivot-border-radius);
|
|
21
|
+
|
|
22
|
+
//Toolbar - Cabeçalho de opções
|
|
23
|
+
#wdr-toolbar-wrapper #wdr-toolbar {
|
|
24
|
+
background: var(--table-pivot-background-toolbar) !important;
|
|
25
|
+
|
|
26
|
+
span {
|
|
27
|
+
font-size: var(--table-pivot-toolbar-font-size) !important;
|
|
28
|
+
font-family: var(--bs-body-font-family), serif !important;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//Grid - Dados
|
|
33
|
+
#wdr-pivot-view {
|
|
34
|
+
|
|
35
|
+
//Cabeçalho
|
|
36
|
+
.wdr-grid-layout div.wdr-header {
|
|
37
|
+
background: var(--table-pivot-background-header) !important;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
//Filtro
|
|
41
|
+
.wdr-grid-layout #wdr-cols-filter {
|
|
42
|
+
background: var(--table-pivot-background-filter);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//Linhas e colunas
|
|
46
|
+
.wdr-ui div {
|
|
47
|
+
font-family: var(--bs-body-font-family), serif !important;
|
|
48
|
+
|
|
49
|
+
&.wdr-cell {
|
|
50
|
+
//color: #abc502 !important;
|
|
51
|
+
background: var(--table-pivot-background);
|
|
52
|
+
border-color: var(--table-pivot-border-color);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
//Modal
|
|
57
|
+
div.wdr-ui-window {
|
|
58
|
+
padding: var(--table-pivot-modal-padding);
|
|
59
|
+
|
|
60
|
+
//Titulo e subtitulo
|
|
61
|
+
.wdr-popup-subtitle,
|
|
62
|
+
.wdr-popup-title {
|
|
63
|
+
margin: 0;
|
|
64
|
+
padding: 0;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.wdr-popup-title {
|
|
68
|
+
font-size: 20px
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
//Botões
|
|
72
|
+
.wdr-ui-btn {
|
|
73
|
+
height: auto;
|
|
74
|
+
margin: 0 .25rem;
|
|
75
|
+
padding: var(--table-pivot-modal-btn-padding);
|
|
76
|
+
font-size: var(--table-pivot-modal-btn-font-size);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.wdr-selected,
|
|
80
|
+
.wdr-unchecked,
|
|
81
|
+
.wdr-checked {
|
|
82
|
+
span {
|
|
83
|
+
font-family: var(--bs-body-font-family), serif !important;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.wdr-ui-toggle-btn-dark {
|
|
88
|
+
margin-bottom: 15px !important;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
//Opções de dados
|
|
94
|
+
.wdr-ui {
|
|
95
|
+
font-family: var(--bs-body-font-family), serif !important;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.wdr-credits {
|
|
99
|
+
display: none !important;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var a=require("react"),o=require("primereact/utils");function e(a){var o=Object.create(null);return a&&Object.keys(a).forEach((function(e){if("default"!==e){var r=Object.getOwnPropertyDescriptor(a,e);Object.defineProperty(o,e,r.get?r:{enumerable:!0,get:function(){return a[e]}})}})),o.default=a,Object.freeze(o)}var r=e(require("@webdatarocks/react-webdatarocks"));const t=({children:e,...r})=>{const t={size:`box-size-${r.size??"100"}`,direction:`box-direction-${r.direction??"row"}`,justify:void 0===r.justify?"":Array.isArray(r.justify)?r.justify?.join(" "):r.justify,align:void 0===r.align?"":Array.isArray(r.align)?r.align?.join(" "):r.align},i={className:o.classNames(["box",r.className??"",t.size,t.direction,t.justify,t.align]),style:r.css,id:r.id};return a.createElement("div",{...i},e)},i={fieldsList:{flatHierarchyBox:"Selecione e arranje as colunas",hierarchyBox:"Arraste as dimensões",filterBox:"Solte e arranje os filtros",rowBox:"Solte e arranje as linhas",columnBox:"Solte e arranje as colunas",measureBox:"Solte e arranje ",values:"Valores",addCalculatedMeasure:"Adicionar valores calculados",expandAll:"Expandir tudo",collapseAll:"Retrair tudo",formulasGroupName:"Valores calculados",allFields:"Todos os campos",rows:"Linhas",columns:"Colunas",filters:"Filtros",dropField:"Solte os campos aqui",title:"Campos",subtitle:"Arraste e solte os campos para arranjar"},filter:{all:"Todos",multipleItems:"Itens múltiplos",selectAll:"Selecionar tudo",selectAllResults:"Selecionar todos os resultados",top:"Superior",bottom:"Inferior",ascSort:"Az",descSort:"zA",topX:"Top 10",clearTopX:"Limpar",measuresPrompt:"Escolha os valores",search:"Procurar",amountSelected:"{0} de {1} selecionado(s)",amountFound:"{0} de {1} encontrados estão selecionados",sort:"Ordenar:",addGroup:"Adicionar grupo",groupName:"Grupo 1",ungroup:"Desagrupar"},drillThrough:{title:"Detalhes",row:"Linha: <b>{0}</b>",column:"Coluna: <b>{0}</b>",value:"{0}: <b>{1}</b>"},calculatedView:{title:"Valores calculados",measureBox:"Arraste os valores para a fórmula",measureName:"Nome do valor",formula:"Fórmula",formulaPrompt:"Solte os valores e edite a fórmula aqui",calculateIndividualValues:"Calcular valores individuais",removeValue:"Remover",removeValueTitle:"Remover {0}?",removeValueMessage:"Tem certeza que você quer remover este valor calculado?",header:"Adicionar valor calculado",allValues:"Todos os valores"},grid:{total:"Total",totals:"Totais",grandTotal:"Total Geral",blankMember:"(vazio)",dateInvalidCaption:"Data inválida",reportInformation:"Informações do relatório"},tooltips:{row:"Linha:",column:"Coluna:",headerResize:"Arraste para redimensionar",headerFit:"Duplo clique para arranjar",filterIcon:"Clique para filtrar",filtered:"Filtrado",expandIcon:"Clique para expandir",collapseIcon:"Clique para retrair",drillDown:"Clique para detalhar",drillUp:"Clique para diminuir detalhes",sortIcon:"Clique para ordenar",sortedDescIcon:"Clique para ordenar ascendente",sortedAscIcon:"Clique para ordenar descendente",close:"Clique para fechar"},aggregations:{sum:{caption:"Somar",totalCaption:"Soma {0}",grandTotalCaption:"Total {0}"},count:{caption:"Contagem",totalCaption:"Cont. {0}",grandTotalCaption:"Total {0}"},distinctCount:{caption:"Contagem distinta",totalCaption:"Contagem distinta de {0}",grandTotalCaption:"Total da contagem distinta de {0}"},difference:{caption:"Diferença",totalCaption:"Diferença de {0}",grandTotalCaption:"Total da diferença de {0}"},percentDifference:{caption:"% Diferença",totalCaption:"% Diferença de {0}",grandTotalCaption:"Total % diferença de {0}"},average:{caption:"Média",totalCaption:"Média de {0}",grandTotalCaption:"Total da média de {0}"},product:{caption:"Produto",totalCaption:"Produto de {0}",grandTotalCaption:"Total do produto de {0}"},min:{caption:"Mínimo",totalCaption:"Mínimo de {0}",grandTotalCaption:"Total do mínimo de {0}"},max:{caption:"Máximo",totalCaption:"Máximo de {0}",grandTotalCaption:"Total máximo de {0}"},percent:{caption:"% do total geral",totalCaption:"% do total geral de {0}",grandTotalCaption:"Total % do total geral de {0}"},percentOfColumn:{caption:"% da coluna",totalCaption:"% da coluna de {0}",grandTotalCaption:"Total % da coluna de {0}"},percentOfRow:{caption:"% da linha",totalCaption:"% da linha de {0}",grandTotalCaption:"Total % da linha de {0}"},index:{caption:"Índice",totalCaption:"Índice de {0}",grandTotalCaption:"Índice de {0}"},none:{caption:"Sem cálculo"}},messages:{error:"Erro!",warning:"Cuidade!",limitation:"Limitação!",browse:"Pesquisar",confirmation:"Confirmação",reportFileType:"Arquivo de relatório",loading:"Carregando...",loadingConfiguration:"",loadingData:"Carregando dados...",waiting:"Aguardando pela resposta de {0} segundos.",progress:"{0}K",progressUnknown:"Carregado {0}K",analyzing:"Analizando dados...",analyzingProgress:"{0} dados de {1} ({2}%)",analyzingRecords:"{0}% dados",saving:"Salvando...",loadingDimensions:"Carregando dimensões...",loadingHierarchies:"Carregando hierarquias...",loadingMeasures:"Carregando medidas...",loadingKPIs:"Carregando KPIs...",loadingMembers:"Carregando membros...",loadingLevels:"Carregando níveis...",loadingProperties:"Carregando propriedades...",fullscreen:"Abrir relatório em tela inteira?",exportComplete:'Os dados para exportação foram criados, por favor, clique no botão de "Salvar".',exportProgress:"Exportação em progresso...",exportError:"Erro exportando. Um erro inexperado aconteceu.",generatingPDF:"Gerando PDF",pleaseWait:"Aguarde.",pagesWereGenerated:"páginas foram geradas.",uploading:"Enviando...",cantSaveFile:"Não foi possível salvar o arquivo.",cantSaveToClipboard:"Erro: Não posso enviar para a área de transferência.",saveReportToFile:'O relatório está pronto para ser salvo, por favor clique no botão de "Salvar".',loadReportFromFile:"Selecione o arquivo do relatório para ser carregado.",inputNewName:"Coloque o novo nome",inputReportName:"Por favor coloque um nome para o relatório",invalidDataSource:"Origem de dados inválida. Por favor verifique. <br/><br/><u><a href='https://www.flexmonster.com/doc/typical-errors/#invalid-datasource' target='_blank'>Leia mais informações sobre este erro.</a></u>",dataStreamError:"Erro de stream enquanto carregava dados '{0}'<br/><br/><u><a href='https://www.flexmonster.com/doc/typical-errors/#stream-error' target='_blank'>Read more info about this error</a></u>",unableToOpenFile:"Não foi possível abrir o arquivo {0}.<br/><br/>Parece que o arquivo não existe ou o acesso foi negado.<br/><br/><u><a href='https://www.flexmonster.com/doc/typical-errors/#unable-to-open-file' target='_blank'>Read more info about this error</a></u>",unableTwoFileBrowsingSessions:"O diálogo da procura por arquivos já está aberto.",inappropriateFileFormat:"O arquivo de dados está em formato inapropriado.",invalidJSONdata:"Os dados JSON são inválidos.",wrongFormulaFormat:"Formato da fórmula errado. Por favor verifique.",excelCsvChartsExportError:"Exportar para Microsoft Excel ou CSV não está disponível para gráficos.",excelPdfExportLimitation:"Exportar para Microsoft Excel ou PDF não está disponível para esta versão.",excelExportLimitation:"Exportar não está disponível para esta versão.",noDataAvailable:"A origem de dados está vazia. Por favor verifique o arquivo CSV.",saveDataToFile:'Os dados estão prontos para serem salvos, por favor clique no botão de "Salvar".',dataWasUpdated:"A origem de dados foi salva no servidor. Deseja atualizar o relatório?",ocsvIncompatible:"Não foi possível ler a origem de dados. Parece que o arquivo CSV está em versão diferente.Por favor atualize os componentes da versao {0} ou superior.",unknownError:"Erro desconhecido.",invalidReportFormat:"Formato de relatório inválido ou acesso ao arquivo negado.",csvHeaderParsingError:"Erro analizando o cabeçalho do arquivo CSV.",tooManyColumnsInClassicMode:"Muitas colunas para um formulário clássico. Mude o layout para formulário compacto.",cantExpand:"Alguns campos não puderam ser expandidos. Por favor diminua o arquivo de dados.",cantExpandTitle:"Arquivo de dados muito grande"},buttons:{ok:"OK",apply:"Aplicar",cancel:"Cancelar",save:"Salvar",clear:"limpar",select:"Selecionar",yes:"Sim",no:"Não"},contextMenu:{clearSorting:"Limpar ordenação",collapse:"Expandir",drillThrough:"Expandir",expand:"Expandir",openFilter:"Abrir filtro",sortColumnAsc:"Ordenar coluna ascendente",sortColumnDesc:"Ordenar coluna descendente",sortRowAsc:"Ordenar linha ascendente",sortRowDesc:"Ordenar linha descendente"},date:{year:"Ano",quarter:"Trimestre",month:"Mês",day:"Dia"},quarters:{q1:"Trimestre 1",q2:"Trimestre 2",q3:"Trimestre 3",q4:"Trimestre 4"},months:{january:"Janeiro",february:"Fevereiro",march:"Março",april:"Abril",may:"Maio",june:"junho",july:"Julho",august:"Agosto",september:"Setembro",october:"Outubro",november:"Novembro",december:"Dezembro"},monthsShort:{january:"Jan",february:"Fev",march:"Mar",april:"Abr",may:"Mai",june:"Jun",july:"Jul",august:"Ago",september:"Set",october:"Out",november:"Nov",december:"Dez"},weekdays:{first:"Domingo",second:"Segunda",third:"Terça",fourth:"Quarta",fifth:"Quinta",sixth:"Sexta",seventh:"Sábado"},weekdaysShort:{first:"Dom",second:"Seg",third:"Ter",fourth:"Qua",fifth:"Qui",sixth:"Sex",seventh:"Sab"},toolbar:{connect:"Conectar",connect_local_csv:"local CSV",connect_local_ocsv:"local OCSV",connect_local_json:"local JSON",connect_remote_csv:"remoto CSV",connect_remote_csv_mobile:"CSV",connect_remote_json:"remoto JSON",connect_remote_json_mobile:"JSON",open:"Abrir",local_report:"Relatório local",remote_report:"Relatório remoto",remote_report_mobile:"Relatório",save:"Salvar",save_json:null,load_json:"relatório JSON",grid:"Grid",grid_flat:"Flat",grid_classic:"Clássico",grid_compact:"Compacto",format:"Formatar",format_cells:"Formatar células",format_cells_mobile:"Formatar",conditional_formatting:"Formatação condicional",conditional_formatting_mobile:"Condicional",options:"Opções",fullscreen:"Tela inteira",minimize:"Minimizar",export:"Exportar",export_print:"Imprimir",export_html:"para HTML",export_excel:"para Excel",export_pdf:"para PDF",fields:"Campos",ok:"OK",apply:"Aplicar",done:"Pronto",cancel:"Cancelar",value:"Valor",delete:"Apagar",if:"Se",then:"então",open_remote_csv:"Abrir CSV remoto",open_remote_json:"Abrir JSON remoto",csv:"CSV",open_remote_report:"Abrir relatório remoto",choose_value:"Escolha um valor",text_align:"Alinhamento de texto",align_left:"esquerda",align_right:"direita",none:"Nenhum",space:"(espaço)",thousand_separator:"Separador de milhar",decimal_separator:"Separador de decimais",decimal_places:"Casas de decimais",currency_symbol:"Símbolo de moeda",currency_align:"Alinhamento de valores em moeda",null_value:"valor nulo",is_percent:"Formate como percentual",true_value:"sim",false_value:"não",conditional:"Condição",add_condition:"Adicionar condição",less_than:"Menor que",less_than_or_equal:"Menor que ou igual a",greater_than:"Maior que",greater_than_or_equal:"Maior que ou igual a",equal_to:"Igual a",not_equal_to:"Não igual a",between:"entre",is_empty:"Vazio",all_values:"Todos os valores",and:"e",and_symbole:"&",cp_text:"Texto",cp_highlight:"Sublinhado",layout_options:"Opções de layout",layout:"Layout",compact_view:"Formulário compacto",classic_view:"Formulário clássico",flat_view:"Formulário flat",grand_totals:"Totais gerais",grand_totals_off:"Não mostrar totais gerais",grand_totals_on:"Mostrar totais gerais",grand_totals_on_rows:"Mostrar somente linhas",grand_totals_on_columns:"Mostrar somente colunas",subtotals:"Subtotais",subtotals_off:"Não mostrar subtotais",subtotals_on:"Mostrar subtotals",subtotals_on_rows:"Mostrar subtotais somente de linhas",subtotals_on_columns:"Mostrar subtotais somente de colunas",choose_page_orientation:"Escolha a orientação de página",landscape:"Paisagem",portrait:"Retrato"}};const n=a.forwardRef((({toolbar:o=!0,id:e="pivotTable",...n},l)=>a.createElement(t,{className:"pivot-table "+(n.className??""),id:e,size:n.size},a.createElement(r.Pivot,{customizeCell:(a,o)=>{void 0!==n.pivotCustomizeCell&&n.pivotCustomizeCell(a,o)},report:{dataSource:{data:n.pivotDataSource??[]},options:n.pivotOptions,slice:n.pivotSlice,localization:i},beforetoolbarcreated:a=>function(a,o){let e=a.getTabs(),r=[];for(const a in o)o[a]||r.push(a.charAt(0).toUpperCase()+a.slice(1));a.getTabs=function(){return e=e.filter((a=>!r.includes(a.title))),e}}(a,n.toolbarOptions??{}),container:e,height:n.height,ref:l,toolbar:o,width:"100%"}))));exports.TablePivot=n;
|
|
2
|
+
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/box/box.tsx","../../src/tablepivot/lang/pt-br.ts","../../src/tablepivot/tablepivot.tsx","../../src/tablepivot/function/handle.ts"],"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};","export const translation = {\r\n \"fieldsList\": {\r\n \"flatHierarchyBox\": \"Selecione e arranje as colunas\",\r\n \"hierarchyBox\": \"Arraste as dimensões\",\r\n \"filterBox\": \"Solte e arranje os filtros\",\r\n \"rowBox\": \"Solte e arranje as linhas\",\r\n \"columnBox\": \"Solte e arranje as colunas\",\r\n \"measureBox\": \"Solte e arranje \",\r\n \"values\": \"Valores\",\r\n \"addCalculatedMeasure\": \"Adicionar valores calculados\",\r\n \"expandAll\": \"Expandir tudo\",\r\n \"collapseAll\": \"Retrair tudo\",\r\n \"formulasGroupName\": \"Valores calculados\",\r\n \"allFields\": \"Todos os campos\",\r\n \"rows\": \"Linhas\",\r\n \"columns\": \"Colunas\",\r\n \"filters\": \"Filtros\",\r\n \"dropField\": \"Solte os campos aqui\",\r\n \"title\": \"Campos\",\r\n \"subtitle\": \"Arraste e solte os campos para arranjar\"\r\n },\r\n \"filter\": {\r\n \"all\": \"Todos\",\r\n \"multipleItems\": \"Itens múltiplos\",\r\n \"selectAll\": \"Selecionar tudo\",\r\n \"selectAllResults\": \"Selecionar todos os resultados\",\r\n \"top\": \"Superior\",\r\n \"bottom\": \"Inferior\",\r\n \"ascSort\": \"Az\",\r\n \"descSort\": \"zA\",\r\n \"topX\": \"Top 10\",\r\n \"clearTopX\": \"Limpar\",\r\n \"measuresPrompt\": \"Escolha os valores\",\r\n \"search\": \"Procurar\",\r\n \"amountSelected\": \"{0} de {1} selecionado(s)\",\r\n \"amountFound\": \"{0} de {1} encontrados estão selecionados\",\r\n \"sort\": \"Ordenar:\",\r\n \"addGroup\": \"Adicionar grupo\",\r\n \"groupName\": \"Grupo 1\",\r\n \"ungroup\": \"Desagrupar\"\r\n },\r\n \"drillThrough\": {\r\n \"title\": \"Detalhes\",\r\n \"row\": \"Linha: <b>{0}</b>\",\r\n \"column\": \"Coluna: <b>{0}</b>\",\r\n \"value\": \"{0}: <b>{1}</b>\"\r\n },\r\n \"calculatedView\": {\r\n \"title\": \"Valores calculados\",\r\n \"measureBox\": \"Arraste os valores para a fórmula\",\r\n \"measureName\": \"Nome do valor\",\r\n \"formula\": \"Fórmula\",\r\n \"formulaPrompt\": \"Solte os valores e edite a fórmula aqui\",\r\n \"calculateIndividualValues\": \"Calcular valores individuais\",\r\n \"removeValue\": \"Remover\",\r\n \"removeValueTitle\": \"Remover {0}?\",\r\n \"removeValueMessage\": \"Tem certeza que você quer remover este valor calculado?\",\r\n \"header\": \"Adicionar valor calculado\",\r\n \"allValues\": \"Todos os valores\"\r\n },\r\n \"grid\": {\r\n \"total\": \"Total\",\r\n \"totals\": \"Totais\",\r\n \"grandTotal\": \"Total Geral\",\r\n \"blankMember\": \"(vazio)\",\r\n \"dateInvalidCaption\": \"Data inválida\",\r\n \"reportInformation\": \"Informações do relatório\"\r\n },\r\n \"tooltips\": {\r\n \"row\": \"Linha:\",\r\n \"column\": \"Coluna:\",\r\n \"headerResize\": \"Arraste para redimensionar\",\r\n \"headerFit\": \"Duplo clique para arranjar\",\r\n \"filterIcon\": \"Clique para filtrar\",\r\n \"filtered\": \"Filtrado\",\r\n \"expandIcon\": \"Clique para expandir\",\r\n \"collapseIcon\": \"Clique para retrair\",\r\n \"drillDown\": \"Clique para detalhar\",\r\n \"drillUp\": \"Clique para diminuir detalhes\",\r\n \"sortIcon\": \"Clique para ordenar\",\r\n \"sortedDescIcon\": \"Clique para ordenar ascendente\",\r\n \"sortedAscIcon\": \"Clique para ordenar descendente\",\r\n \"close\": \"Clique para fechar\"\r\n },\r\n \"aggregations\": {\r\n \"sum\": {\r\n \"caption\": \"Somar\",\r\n \"totalCaption\": \"Soma {0}\",\r\n \"grandTotalCaption\": \"Total {0}\"\r\n },\r\n \"count\": {\r\n \"caption\": \"Contagem\",\r\n \"totalCaption\": \"Cont. {0}\",\r\n \"grandTotalCaption\": \"Total {0}\"\r\n },\r\n \"distinctCount\": {\r\n \"caption\": \"Contagem distinta\",\r\n \"totalCaption\": \"Contagem distinta de {0}\",\r\n \"grandTotalCaption\": \"Total da contagem distinta de {0}\"\r\n },\r\n \"difference\": {\r\n \"caption\": \"Diferença\",\r\n \"totalCaption\": \"Diferença de {0}\",\r\n \"grandTotalCaption\": \"Total da diferença de {0}\"\r\n },\r\n \"percentDifference\": {\r\n \"caption\": \"% Diferença\",\r\n \"totalCaption\": \"% Diferença de {0}\",\r\n \"grandTotalCaption\": \"Total % diferença de {0}\"\r\n },\r\n \"average\": {\r\n \"caption\": \"Média\",\r\n \"totalCaption\": \"Média de {0}\",\r\n \"grandTotalCaption\": \"Total da média de {0}\"\r\n },\r\n \"product\": {\r\n \"caption\": \"Produto\",\r\n \"totalCaption\": \"Produto de {0}\",\r\n \"grandTotalCaption\": \"Total do produto de {0}\"\r\n },\r\n \"min\": {\r\n \"caption\": \"Mínimo\",\r\n \"totalCaption\": \"Mínimo de {0}\",\r\n \"grandTotalCaption\": \"Total do mínimo de {0}\"\r\n },\r\n \"max\": {\r\n \"caption\": \"Máximo\",\r\n \"totalCaption\": \"Máximo de {0}\",\r\n \"grandTotalCaption\": \"Total máximo de {0}\"\r\n },\r\n \"percent\": {\r\n \"caption\": \"% do total geral\",\r\n \"totalCaption\": \"% do total geral de {0}\",\r\n \"grandTotalCaption\": \"Total % do total geral de {0}\"\r\n },\r\n \"percentOfColumn\": {\r\n \"caption\": \"% da coluna\",\r\n \"totalCaption\": \"% da coluna de {0}\",\r\n \"grandTotalCaption\": \"Total % da coluna de {0}\"\r\n },\r\n \"percentOfRow\": {\r\n \"caption\": \"% da linha\",\r\n \"totalCaption\": \"% da linha de {0}\",\r\n \"grandTotalCaption\": \"Total % da linha de {0}\"\r\n },\r\n \"index\": {\r\n \"caption\": \"Índice\",\r\n \"totalCaption\": \"Índice de {0}\",\r\n \"grandTotalCaption\": \"Índice de {0}\"\r\n },\r\n \"none\": {\r\n \"caption\": \"Sem cálculo\"\r\n }\r\n },\r\n \"messages\": {\r\n \"error\": \"Erro!\",\r\n \"warning\": \"Cuidade!\",\r\n \"limitation\": \"Limitação!\",\r\n \"browse\": \"Pesquisar\",\r\n \"confirmation\": \"Confirmação\",\r\n \"reportFileType\": \"Arquivo de relatório\",\r\n \"loading\": \"Carregando...\",\r\n \"loadingConfiguration\": \"\",\r\n \"loadingData\": \"Carregando dados...\",\r\n \"waiting\": \"Aguardando pela resposta de {0} segundos.\",\r\n \"progress\": \"{0}K\",\r\n \"progressUnknown\": \"Carregado {0}K\",\r\n \"analyzing\": \"Analizando dados...\",\r\n \"analyzingProgress\": \"{0} dados de {1} ({2}%)\",\r\n \"analyzingRecords\": \"{0}% dados\",\r\n \"saving\": \"Salvando...\",\r\n \"loadingDimensions\": \"Carregando dimensões...\",\r\n \"loadingHierarchies\": \"Carregando hierarquias...\",\r\n \"loadingMeasures\": \"Carregando medidas...\",\r\n \"loadingKPIs\": \"Carregando KPIs...\",\r\n \"loadingMembers\": \"Carregando membros...\",\r\n \"loadingLevels\": \"Carregando níveis...\",\r\n \"loadingProperties\": \"Carregando propriedades...\",\r\n \"fullscreen\": \"Abrir relatório em tela inteira?\",\r\n \"exportComplete\": \"Os dados para exportação foram criados, por favor, clique no botão de \\\"Salvar\\\".\",\r\n \"exportProgress\": \"Exportação em progresso...\",\r\n \"exportError\": \"Erro exportando. Um erro inexperado aconteceu.\",\r\n \"generatingPDF\": \"Gerando PDF\",\r\n \"pleaseWait\": \"Aguarde.\",\r\n \"pagesWereGenerated\": \"páginas foram geradas.\",\r\n \"uploading\": \"Enviando...\",\r\n \"cantSaveFile\": \"Não foi possível salvar o arquivo.\",\r\n \"cantSaveToClipboard\": \"Erro: Não posso enviar para a área de transferência.\",\r\n \"saveReportToFile\": \"O relatório está pronto para ser salvo, por favor clique no botão de \\\"Salvar\\\".\",\r\n \"loadReportFromFile\": \"Selecione o arquivo do relatório para ser carregado.\",\r\n \"inputNewName\": \"Coloque o novo nome\",\r\n \"inputReportName\": \"Por favor coloque um nome para o relatório\",\r\n \"invalidDataSource\": \"Origem de dados inválida. Por favor verifique. <br/><br/><u><a href='https://www.flexmonster.com/doc/typical-errors/#invalid-datasource' target='_blank'>Leia mais informações sobre este erro.</a></u>\",\r\n \"dataStreamError\": \"Erro de stream enquanto carregava dados '{0}'<br/><br/><u><a href='https://www.flexmonster.com/doc/typical-errors/#stream-error' target='_blank'>Read more info about this error</a></u>\",\r\n \"unableToOpenFile\": \"Não foi possível abrir o arquivo {0}.<br/><br/>Parece que o arquivo não existe ou o acesso foi negado.<br/><br/><u><a href='https://www.flexmonster.com/doc/typical-errors/#unable-to-open-file' target='_blank'>Read more info about this error</a></u>\",\r\n \"unableTwoFileBrowsingSessions\": \"O diálogo da procura por arquivos já está aberto.\",\r\n \"inappropriateFileFormat\": \"O arquivo de dados está em formato inapropriado.\",\r\n \"invalidJSONdata\": \"Os dados JSON são inválidos.\",\r\n \"wrongFormulaFormat\": \"Formato da fórmula errado. Por favor verifique.\",\r\n \"excelCsvChartsExportError\": \"Exportar para Microsoft Excel ou CSV não está disponível para gráficos.\",\r\n \"excelPdfExportLimitation\": \"Exportar para Microsoft Excel ou PDF não está disponível para esta versão.\",\r\n \"excelExportLimitation\": \"Exportar não está disponível para esta versão.\",\r\n \"noDataAvailable\": \"A origem de dados está vazia. Por favor verifique o arquivo CSV.\",\r\n \"saveDataToFile\": \"Os dados estão prontos para serem salvos, por favor clique no botão de \\\"Salvar\\\".\",\r\n \"dataWasUpdated\": \"A origem de dados foi salva no servidor. Deseja atualizar o relatório?\",\r\n \"ocsvIncompatible\": \"Não foi possível ler a origem de dados. Parece que o arquivo CSV está em versão diferente.Por favor atualize os componentes da versao {0} ou superior.\",\r\n \"unknownError\": \"Erro desconhecido.\",\r\n \"invalidReportFormat\": \"Formato de relatório inválido ou acesso ao arquivo negado.\",\r\n \"csvHeaderParsingError\": \"Erro analizando o cabeçalho do arquivo CSV.\",\r\n \"tooManyColumnsInClassicMode\": \"Muitas colunas para um formulário clássico. Mude o layout para formulário compacto.\",\r\n \"cantExpand\": \"Alguns campos não puderam ser expandidos. Por favor diminua o arquivo de dados.\",\r\n \"cantExpandTitle\": \"Arquivo de dados muito grande\"\r\n },\r\n \"buttons\": {\r\n \"ok\": \"OK\",\r\n \"apply\": \"Aplicar\",\r\n \"cancel\": \"Cancelar\",\r\n \"save\": \"Salvar\",\r\n \"clear\": \"limpar\",\r\n \"select\": \"Selecionar\",\r\n \"yes\": \"Sim\",\r\n \"no\": \"Não\"\r\n },\r\n \"contextMenu\": {\r\n \"clearSorting\": \"Limpar ordenação\",\r\n \"collapse\": \"Expandir\",\r\n \"drillThrough\": \"Expandir\",\r\n \"expand\": \"Expandir\",\r\n \"openFilter\": \"Abrir filtro\",\r\n \"sortColumnAsc\": \"Ordenar coluna ascendente\",\r\n \"sortColumnDesc\": \"Ordenar coluna descendente\",\r\n \"sortRowAsc\": \"Ordenar linha ascendente\",\r\n \"sortRowDesc\": \"Ordenar linha descendente\"\r\n },\r\n \"date\": {\r\n \"year\": \"Ano\",\r\n \"quarter\": \"Trimestre\",\r\n \"month\": \"Mês\",\r\n \"day\": \"Dia\"\r\n },\r\n \"quarters\": {\r\n \"q1\": \"Trimestre 1\",\r\n \"q2\": \"Trimestre 2\",\r\n \"q3\": \"Trimestre 3\",\r\n \"q4\": \"Trimestre 4\"\r\n },\r\n \"months\": {\r\n \"january\": \"Janeiro\",\r\n \"february\": \"Fevereiro\",\r\n \"march\": \"Março\",\r\n \"april\": \"Abril\",\r\n \"may\": \"Maio\",\r\n \"june\": \"junho\",\r\n \"july\": \"Julho\",\r\n \"august\": \"Agosto\",\r\n \"september\": \"Setembro\",\r\n \"october\": \"Outubro\",\r\n \"november\": \"Novembro\",\r\n \"december\": \"Dezembro\"\r\n },\r\n \"monthsShort\": {\r\n \"january\": \"Jan\",\r\n \"february\": \"Fev\",\r\n \"march\": \"Mar\",\r\n \"april\": \"Abr\",\r\n \"may\": \"Mai\",\r\n \"june\": \"Jun\",\r\n \"july\": \"Jul\",\r\n \"august\": \"Ago\",\r\n \"september\": \"Set\",\r\n \"october\": \"Out\",\r\n \"november\": \"Nov\",\r\n \"december\": \"Dez\"\r\n },\r\n \"weekdays\": {\r\n \"first\": \"Domingo\",\r\n \"second\": \"Segunda\",\r\n \"third\": \"Terça\",\r\n \"fourth\": \"Quarta\",\r\n \"fifth\": \"Quinta\",\r\n \"sixth\": \"Sexta\",\r\n \"seventh\": \"Sábado\"\r\n },\r\n \"weekdaysShort\": {\r\n \"first\": \"Dom\",\r\n \"second\": \"Seg\",\r\n \"third\": \"Ter\",\r\n \"fourth\": \"Qua\",\r\n \"fifth\": \"Qui\",\r\n \"sixth\": \"Sex\",\r\n \"seventh\": \"Sab\"\r\n },\r\n \"toolbar\": {\r\n \"connect\": \"Conectar\",\r\n \"connect_local_csv\": \"local CSV\",\r\n \"connect_local_ocsv\": \"local OCSV\",\r\n \"connect_local_json\": \"local JSON\",\r\n \"connect_remote_csv\": \"remoto CSV\",\r\n \"connect_remote_csv_mobile\": \"CSV\",\r\n \"connect_remote_json\": \"remoto JSON\",\r\n \"connect_remote_json_mobile\": \"JSON\",\r\n \"open\": \"Abrir\",\r\n \"local_report\": \"Relatório local\",\r\n \"remote_report\": \"Relatório remoto\",\r\n \"remote_report_mobile\": \"Relatório\",\r\n \"save\": \"Salvar\",\r\n \"save_json\": null,\r\n \"load_json\": \"relatório JSON\",\r\n \"grid\": \"Grid\",\r\n \"grid_flat\": \"Flat\",\r\n \"grid_classic\": \"Clássico\",\r\n \"grid_compact\": \"Compacto\",\r\n \"format\": \"Formatar\",\r\n \"format_cells\": \"Formatar células\",\r\n \"format_cells_mobile\": \"Formatar\",\r\n \"conditional_formatting\": \"Formatação condicional\",\r\n \"conditional_formatting_mobile\": \"Condicional\",\r\n \"options\": \"Opções\",\r\n \"fullscreen\": \"Tela inteira\",\r\n \"minimize\": \"Minimizar\",\r\n \"export\": \"Exportar\",\r\n \"export_print\": \"Imprimir\",\r\n \"export_html\": \"para HTML\",\r\n \"export_excel\": \"para Excel\",\r\n \"export_pdf\": \"para PDF\",\r\n \"fields\": \"Campos\",\r\n \"ok\": \"OK\",\r\n \"apply\": \"Aplicar\",\r\n \"done\": \"Pronto\",\r\n \"cancel\": \"Cancelar\",\r\n \"value\": \"Valor\",\r\n \"delete\": \"Apagar\",\r\n \"if\": \"Se\",\r\n \"then\": \"então\",\r\n \"open_remote_csv\": \"Abrir CSV remoto\",\r\n \"open_remote_json\": \"Abrir JSON remoto\",\r\n \"csv\": \"CSV\",\r\n \"open_remote_report\": \"Abrir relatório remoto\",\r\n \"choose_value\": \"Escolha um valor\",\r\n \"text_align\": \"Alinhamento de texto\",\r\n \"align_left\": \"esquerda\",\r\n \"align_right\": \"direita\",\r\n \"none\": \"Nenhum\",\r\n \"space\": \"(espaço)\",\r\n \"thousand_separator\": \"Separador de milhar\",\r\n \"decimal_separator\": \"Separador de decimais\",\r\n \"decimal_places\": \"Casas de decimais\",\r\n \"currency_symbol\": \"Símbolo de moeda\",\r\n \"currency_align\": \"Alinhamento de valores em moeda\",\r\n \"null_value\": \"valor nulo\",\r\n \"is_percent\": \"Formate como percentual\",\r\n \"true_value\": \"sim\",\r\n \"false_value\": \"não\",\r\n \"conditional\": \"Condição\",\r\n \"add_condition\": \"Adicionar condição\",\r\n \"less_than\": \"Menor que\",\r\n \"less_than_or_equal\": \"Menor que ou igual a\",\r\n \"greater_than\": \"Maior que\",\r\n \"greater_than_or_equal\": \"Maior que ou igual a\",\r\n \"equal_to\": \"Igual a\",\r\n \"not_equal_to\": \"Não igual a\",\r\n \"between\": \"entre\",\r\n \"is_empty\": \"Vazio\",\r\n \"all_values\": \"Todos os valores\",\r\n \"and\": \"e\",\r\n \"and_symbole\": \"&\",\r\n \"cp_text\": \"Texto\",\r\n \"cp_highlight\": \"Sublinhado\",\r\n \"layout_options\": \"Opções de layout\",\r\n \"layout\": \"Layout\",\r\n \"compact_view\": \"Formulário compacto\",\r\n \"classic_view\": \"Formulário clássico\",\r\n \"flat_view\": \"Formulário flat\",\r\n \"grand_totals\": \"Totais gerais\",\r\n \"grand_totals_off\": \"Não mostrar totais gerais\",\r\n \"grand_totals_on\": \"Mostrar totais gerais\",\r\n \"grand_totals_on_rows\": \"Mostrar somente linhas\",\r\n \"grand_totals_on_columns\": \"Mostrar somente colunas\",\r\n \"subtotals\": \"Subtotais\",\r\n \"subtotals_off\": \"Não mostrar subtotais\",\r\n \"subtotals_on\": \"Mostrar subtotals\",\r\n \"subtotals_on_rows\": \"Mostrar subtotais somente de linhas\",\r\n \"subtotals_on_columns\": \"Mostrar subtotais somente de colunas\",\r\n \"choose_page_orientation\": \"Escolha a orientação de página\",\r\n \"landscape\": \"Paisagem\",\r\n \"portrait\": \"Retrato\"\r\n }\r\n};","import { Box } from \"../box\";\r\nimport React, { forwardRef } from \"react\";\r\nimport { translation } from \"./lang/pt-br\";\r\nimport { handleToolbarOptions } from \"./function/handle\";\r\nimport { TablePivotProps, TablePivotRefProps } from \"./types\";\r\nimport * as WebDataRocksReact from \"@webdatarocks/react-webdatarocks\";\r\n\r\n/**\r\n * Componente - `TablePivot`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar tabela com estilo de pivot de dados.\r\n */\r\nexport const TablePivot = forwardRef<TablePivotRefProps, TablePivotProps>(\r\n ({ toolbar = true, id = \"pivotTable\", ...props }, ref) => {\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Box className={\"pivot-table \" + (props.className ?? \"\")}\r\n id={id}\r\n size={props.size}>\r\n <WebDataRocksReact.Pivot\r\n customizeCell={(b: any, d: any) => {\r\n if (props.pivotCustomizeCell !== undefined) {\r\n props.pivotCustomizeCell(b, d);\r\n }\r\n }}\r\n report={{\r\n dataSource: {\r\n data: props.pivotDataSource ?? []\r\n },\r\n options: props.pivotOptions,\r\n slice: props.pivotSlice,\r\n localization: translation,\r\n }}\r\n beforetoolbarcreated={(toolbar: any) => handleToolbarOptions(toolbar, props.toolbarOptions ?? {})}\r\n container={id}\r\n height={props.height}\r\n ref={ref}\r\n toolbar={toolbar}\r\n width=\"100%\"/>\r\n </Box>\r\n );\r\n });","/**\r\n * Remove as opções do cabeçalho de acordo objeto toolbarOptions\r\n * @param toolbar - Objeto do cabeçalho\r\n * @param options - Objeto que será removido\r\n */\r\nexport function handleToolbarOptions(toolbar: any, options: any) {\r\n let tabs: any[] = toolbar.getTabs();\r\n let blocked = [];\r\n for (const key in options) {\r\n if (!options[key]) {\r\n blocked.push(key.charAt(0).toUpperCase() + key.slice(1));\r\n }\r\n }\r\n\r\n toolbar.getTabs = function () {\r\n tabs = tabs.filter(tab => {\r\n \r\n return !blocked.includes(tab.title);\r\n });\r\n return tabs;\r\n };\r\n}"],"names":["Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","style","id","React","createElement","translation","fieldsList","flatHierarchyBox","hierarchyBox","filterBox","rowBox","columnBox","measureBox","values","addCalculatedMeasure","expandAll","collapseAll","formulasGroupName","allFields","rows","columns","filters","dropField","title","subtitle","filter","all","multipleItems","selectAll","selectAllResults","top","bottom","ascSort","descSort","topX","clearTopX","measuresPrompt","search","amountSelected","amountFound","sort","addGroup","groupName","ungroup","drillThrough","row","column","value","calculatedView","measureName","formula","formulaPrompt","calculateIndividualValues","removeValue","removeValueTitle","removeValueMessage","header","allValues","grid","total","totals","grandTotal","blankMember","dateInvalidCaption","reportInformation","tooltips","headerResize","headerFit","filterIcon","filtered","expandIcon","collapseIcon","drillDown","drillUp","sortIcon","sortedDescIcon","sortedAscIcon","close","aggregations","sum","caption","totalCaption","grandTotalCaption","count","distinctCount","difference","percentDifference","average","product","min","max","percent","percentOfColumn","percentOfRow","index","none","messages","error","warning","limitation","browse","confirmation","reportFileType","loading","loadingConfiguration","loadingData","waiting","progress","progressUnknown","analyzing","analyzingProgress","analyzingRecords","saving","loadingDimensions","loadingHierarchies","loadingMeasures","loadingKPIs","loadingMembers","loadingLevels","loadingProperties","fullscreen","exportComplete","exportProgress","exportError","generatingPDF","pleaseWait","pagesWereGenerated","uploading","cantSaveFile","cantSaveToClipboard","saveReportToFile","loadReportFromFile","inputNewName","inputReportName","invalidDataSource","dataStreamError","unableToOpenFile","unableTwoFileBrowsingSessions","inappropriateFileFormat","invalidJSONdata","wrongFormulaFormat","excelCsvChartsExportError","excelPdfExportLimitation","excelExportLimitation","noDataAvailable","saveDataToFile","dataWasUpdated","ocsvIncompatible","unknownError","invalidReportFormat","csvHeaderParsingError","tooManyColumnsInClassicMode","cantExpand","cantExpandTitle","buttons","ok","apply","cancel","save","clear","select","yes","no","contextMenu","clearSorting","collapse","expand","openFilter","sortColumnAsc","sortColumnDesc","sortRowAsc","sortRowDesc","date","year","quarter","month","day","quarters","q1","q2","q3","q4","months","january","february","march","april","may","june","july","august","september","october","november","december","monthsShort","weekdays","first","second","third","fourth","fifth","sixth","seventh","weekdaysShort","toolbar","connect","connect_local_csv","connect_local_ocsv","connect_local_json","connect_remote_csv","connect_remote_csv_mobile","connect_remote_json","connect_remote_json_mobile","open","local_report","remote_report","remote_report_mobile","save_json","load_json","grid_flat","grid_classic","grid_compact","format","format_cells","format_cells_mobile","conditional_formatting","conditional_formatting_mobile","options","minimize","export","export_print","export_html","export_excel","export_pdf","fields","done","delete","if","then","open_remote_csv","open_remote_json","csv","open_remote_report","choose_value","text_align","align_left","align_right","space","thousand_separator","decimal_separator","decimal_places","currency_symbol","currency_align","null_value","is_percent","true_value","false_value","conditional","add_condition","less_than","less_than_or_equal","greater_than","greater_than_or_equal","equal_to","not_equal_to","between","is_empty","all_values","and","and_symbole","cp_text","cp_highlight","layout_options","layout","compact_view","classic_view","flat_view","grand_totals","grand_totals_off","grand_totals_on","grand_totals_on_rows","grand_totals_on_columns","subtotals","subtotals_off","subtotals_on","subtotals_on_rows","subtotals_on_columns","choose_page_orientation","landscape","portrait","TablePivot","forwardRef","ref","WebDataRocksReact","Pivot","customizeCell","b","d","pivotCustomizeCell","report","dataSource","data","pivotDataSource","pivotOptions","slice","pivotSlice","localization","beforetoolbarcreated","tabs","getTabs","blocked","key","push","charAt","toUpperCase","tab","includes","handleToolbarOptions","toolbarOptions","container","height","width"],"mappings":"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"}
|