@coveord/plasma-mantine 56.1.3 → 56.1.4
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/.turbo/turbo-build.log +3 -3
- package/.turbo/turbo-test.log +54 -57
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/components/header/Header.js +1 -1
- package/dist/cjs/components/header/Header.js.map +1 -1
- package/dist/cjs/components/prompt/Prompt.d.ts.map +1 -1
- package/dist/cjs/components/prompt/Prompt.js +1 -1
- package/dist/cjs/components/prompt/Prompt.js.map +1 -1
- package/dist/cjs/components/prompt/PromptCancelButton.js +1 -1
- package/dist/cjs/components/prompt/PromptCancelButton.js.map +1 -1
- package/dist/cjs/components/prompt/PromptConfirmButton.js +1 -1
- package/dist/cjs/components/prompt/PromptConfirmButton.js.map +1 -1
- package/dist/cjs/components/table/Table.d.ts +1 -1
- package/dist/cjs/components/table/Table.d.ts.map +1 -1
- package/dist/cjs/components/table/Table.js.map +1 -1
- package/dist/cjs/components/table/TableContext.d.ts +1 -1
- package/dist/cjs/components/table/TableContext.d.ts.map +1 -1
- package/dist/cjs/components/table/TableContext.js.map +1 -1
- package/dist/cjs/components/table/index.d.ts +1 -1
- package/dist/cjs/components/table/index.d.ts.map +1 -1
- package/dist/cjs/components/table/index.js.map +1 -1
- package/dist/cjs/components/table/table-pagination/TablePagination.d.ts +1 -1
- package/dist/cjs/components/table/table-pagination/TablePagination.d.ts.map +1 -1
- package/dist/cjs/components/table/table-pagination/TablePagination.js.map +1 -1
- package/dist/cjs/components/table/table-per-page/TablePerPage.d.ts +1 -1
- package/dist/cjs/components/table/table-per-page/TablePerPage.d.ts.map +1 -1
- package/dist/cjs/components/table/table-per-page/TablePerPage.js.map +1 -1
- package/dist/esm/components/header/Header.js +1 -1
- package/dist/esm/components/header/Header.js.map +1 -1
- package/dist/esm/components/prompt/Prompt.d.ts.map +1 -1
- package/dist/esm/components/prompt/Prompt.js +1 -1
- package/dist/esm/components/prompt/Prompt.js.map +1 -1
- package/dist/esm/components/prompt/PromptCancelButton.js +1 -1
- package/dist/esm/components/prompt/PromptCancelButton.js.map +1 -1
- package/dist/esm/components/prompt/PromptConfirmButton.js +1 -1
- package/dist/esm/components/prompt/PromptConfirmButton.js.map +1 -1
- package/dist/esm/components/table/Table.d.ts +1 -1
- package/dist/esm/components/table/Table.d.ts.map +1 -1
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/TableContext.d.ts +1 -1
- package/dist/esm/components/table/TableContext.d.ts.map +1 -1
- package/dist/esm/components/table/TableContext.js.map +1 -1
- package/dist/esm/components/table/index.d.ts +1 -1
- package/dist/esm/components/table/index.d.ts.map +1 -1
- package/dist/esm/components/table/index.js.map +1 -1
- package/dist/esm/components/table/table-pagination/TablePagination.d.ts +1 -1
- package/dist/esm/components/table/table-pagination/TablePagination.d.ts.map +1 -1
- package/dist/esm/components/table/table-pagination/TablePagination.js.map +1 -1
- package/dist/esm/components/table/table-per-page/TablePerPage.d.ts +1 -1
- package/dist/esm/components/table/table-per-page/TablePerPage.d.ts.map +1 -1
- package/dist/esm/components/table/table-per-page/TablePerPage.js.map +1 -1
- package/package.json +3 -3
- package/src/components/header/Header.tsx +1 -1
- package/src/components/prompt/Prompt.tsx +1 -1
- package/src/components/prompt/PromptCancelButton.tsx +1 -1
- package/src/components/prompt/PromptConfirmButton.tsx +1 -1
- package/src/components/table/Table.tsx +1 -1
- package/src/components/table/TableContext.tsx +1 -1
- package/src/components/table/index.ts +1 -1
- package/src/components/table/table-pagination/TablePagination.tsx +1 -1
- package/src/components/table/table-per-page/TablePerPage.tsx +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { factory, useProps } from '@mantine/core';
|
|
3
3
|
import { Button } from '../button/Button.js';
|
|
4
|
-
import { usePromptContext } from './Prompt.context';
|
|
4
|
+
import { usePromptContext } from './Prompt.context.js';
|
|
5
5
|
const COMPONENT_BY_VARIANT = {
|
|
6
6
|
success: Button.Primary,
|
|
7
7
|
info: Button.Primary,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/prompt/PromptConfirmButton.tsx"],"sourcesContent":["import {CompoundStylesApiProps, factory, Factory, PolymorphicComponentProps, useProps} from '@mantine/core';\nimport {JSXElementConstructor, ReactElement} from 'react';\nimport {Button, ButtonProps} from '../button/Button.js';\nimport {PromptVariant} from './Prompt.js';\nimport {usePromptContext} from './Prompt.context';\n\nexport type PromptConfirmButtonStylesNamesVariant = 'confirm';\n\nexport interface PromptConfirmButtonProps\n extends CompoundStylesApiProps<PromptConfirmButtonFactory>,\n Omit<ButtonProps, 'primary' | 'classNames' | 'styles' | 'vars' | 'variant'> {}\n\nexport type PromptConfirmButtonFactory = Factory<{\n props: PromptConfirmButtonProps;\n ref: HTMLButtonElement;\n stylesNames: PromptConfirmButtonStylesNamesVariant;\n compound: true;\n}>;\n\nconst COMPONENT_BY_VARIANT: Record<\n PromptVariant,\n <L = 'button'>(\n props: PolymorphicComponentProps<L, ButtonProps>,\n ) => ReactElement<any, string | JSXElementConstructor<any>>\n> = {\n success: Button.Primary,\n info: Button.Primary,\n warning: Button.DestructivePrimary,\n critical: Button.DestructivePrimary,\n};\n\nconst defaultProps: Partial<PromptConfirmButtonProps> = {};\n\nexport const PromptConfirmButton = factory<PromptConfirmButtonFactory>((_props, ref) => {\n const {variant, getStyles} = usePromptContext();\n const props = useProps('PromptConfirmButton', defaultProps, _props);\n const {\n className,\n classNames,\n style,\n styles,\n unstyled,\n vars,\n disabled,\n disabledTooltip,\n disabledTooltipProps,\n ...others\n } = props;\n const Component = COMPONENT_BY_VARIANT[variant];\n return (\n <Component\n ref={ref}\n disabled={disabled}\n disabledTooltip={disabledTooltip}\n disabledTooltipProps={disabledTooltipProps}\n {...others}\n {...getStyles('confirm', {style, styles, className, classNames})}\n />\n );\n});\n"],"names":["factory","useProps","Button","usePromptContext","COMPONENT_BY_VARIANT","success","Primary","info","warning","DestructivePrimary","critical","defaultProps","PromptConfirmButton","_props","ref","variant","getStyles","props","className","classNames","style","styles","unstyled","vars","disabled","disabledTooltip","disabledTooltipProps","others","Component"],"mappings":";AAAA,SAAgCA,OAAO,EAAsCC,QAAQ,QAAO,gBAAgB;AAE5G,SAAQC,MAAM,QAAoB,sBAAsB;AAExD,SAAQC,gBAAgB,QAAO,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/prompt/PromptConfirmButton.tsx"],"sourcesContent":["import {CompoundStylesApiProps, factory, Factory, PolymorphicComponentProps, useProps} from '@mantine/core';\nimport {JSXElementConstructor, ReactElement} from 'react';\nimport {Button, ButtonProps} from '../button/Button.js';\nimport {PromptVariant} from './Prompt.js';\nimport {usePromptContext} from './Prompt.context.js';\n\nexport type PromptConfirmButtonStylesNamesVariant = 'confirm';\n\nexport interface PromptConfirmButtonProps\n extends CompoundStylesApiProps<PromptConfirmButtonFactory>,\n Omit<ButtonProps, 'primary' | 'classNames' | 'styles' | 'vars' | 'variant'> {}\n\nexport type PromptConfirmButtonFactory = Factory<{\n props: PromptConfirmButtonProps;\n ref: HTMLButtonElement;\n stylesNames: PromptConfirmButtonStylesNamesVariant;\n compound: true;\n}>;\n\nconst COMPONENT_BY_VARIANT: Record<\n PromptVariant,\n <L = 'button'>(\n props: PolymorphicComponentProps<L, ButtonProps>,\n ) => ReactElement<any, string | JSXElementConstructor<any>>\n> = {\n success: Button.Primary,\n info: Button.Primary,\n warning: Button.DestructivePrimary,\n critical: Button.DestructivePrimary,\n};\n\nconst defaultProps: Partial<PromptConfirmButtonProps> = {};\n\nexport const PromptConfirmButton = factory<PromptConfirmButtonFactory>((_props, ref) => {\n const {variant, getStyles} = usePromptContext();\n const props = useProps('PromptConfirmButton', defaultProps, _props);\n const {\n className,\n classNames,\n style,\n styles,\n unstyled,\n vars,\n disabled,\n disabledTooltip,\n disabledTooltipProps,\n ...others\n } = props;\n const Component = COMPONENT_BY_VARIANT[variant];\n return (\n <Component\n ref={ref}\n disabled={disabled}\n disabledTooltip={disabledTooltip}\n disabledTooltipProps={disabledTooltipProps}\n {...others}\n {...getStyles('confirm', {style, styles, className, classNames})}\n />\n );\n});\n"],"names":["factory","useProps","Button","usePromptContext","COMPONENT_BY_VARIANT","success","Primary","info","warning","DestructivePrimary","critical","defaultProps","PromptConfirmButton","_props","ref","variant","getStyles","props","className","classNames","style","styles","unstyled","vars","disabled","disabledTooltip","disabledTooltipProps","others","Component"],"mappings":";AAAA,SAAgCA,OAAO,EAAsCC,QAAQ,QAAO,gBAAgB;AAE5G,SAAQC,MAAM,QAAoB,sBAAsB;AAExD,SAAQC,gBAAgB,QAAO,sBAAsB;AAerD,MAAMC,uBAKF;IACAC,SAASH,OAAOI,OAAO;IACvBC,MAAML,OAAOI,OAAO;IACpBE,SAASN,OAAOO,kBAAkB;IAClCC,UAAUR,OAAOO,kBAAkB;AACvC;AAEA,MAAME,eAAkD,CAAC;AAEzD,OAAO,MAAMC,sBAAsBZ,QAAoC,CAACa,QAAQC;IAC5E,MAAM,EAACC,OAAO,EAAEC,SAAS,EAAC,GAAGb;IAC7B,MAAMc,QAAQhB,SAAS,uBAAuBU,cAAcE;IAC5D,MAAM,EACFK,SAAS,EACTC,UAAU,EACVC,KAAK,EACLC,MAAM,EACNC,QAAQ,EACRC,IAAI,EACJC,QAAQ,EACRC,eAAe,EACfC,oBAAoB,EACpB,GAAGC,QACN,GAAGV;IACJ,MAAMW,YAAYxB,oBAAoB,CAACW,QAAQ;IAC/C,qBACI,KAACa;QACGd,KAAKA;QACLU,UAAUA;QACVC,iBAAiBA;QACjBC,sBAAsBA;QACrB,GAAGC,MAAM;QACT,GAAGX,UAAU,WAAW;YAACI;YAAOC;YAAQH;YAAWC;QAAU,EAAE;;AAG5E,GAAG"}
|
|
@@ -2,7 +2,7 @@ import { Factory } from '@mantine/core';
|
|
|
2
2
|
import { ColumnDef } from '@tanstack/react-table';
|
|
3
3
|
import { ForwardedRef } from 'react';
|
|
4
4
|
import { CustomComponentThemeExtend } from '../../utils/index.js';
|
|
5
|
-
import { TableLayout, TableProps } from './Table.types';
|
|
5
|
+
import { TableLayout, TableProps } from './Table.types.js';
|
|
6
6
|
import { TableLayouts } from './layouts/TableLayouts.js';
|
|
7
7
|
import { TableActionItem, TableActionItemStylesNames, TableHeaderActionsStylesNames } from './table-actions/index.js';
|
|
8
8
|
import { TableActionsListStylesNames } from './table-actions/TableActionsList.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAA8B,MAAM,eAAe,CAAC;AAEhF,OAAO,EACH,SAAS,EAMZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAW,YAAY,EAAkC,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAC,0BAA0B,EAAW,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Factory, Loader, useProps, useStyles} from '@mantine/core';\nimport {useClickOutside, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n Row,\n RowSelectionState,\n defaultColumnSizing,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport isEqual from 'fast-deep-equal';\nimport {Children, ForwardedRef, ReactElement, useEffect, useRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../utils/index.js';\nimport classes from './Table.module.css';\nimport {TableLayout, TableProps} from './Table.types';\nimport {TableProvider} from './TableContext.js';\nimport {TableLayouts} from './layouts/TableLayouts.js';\nimport {TableActionItem, TableActionItemStylesNames, TableHeaderActionsStylesNames} from './table-actions/index.js';\nimport {TableActionsListStylesNames} from './table-actions/TableActionsList.js';\nimport {TableActionsColumn} from './table-column/TableActionsColumn.js';\nimport {\n TableAccordionColumn,\n TableCollapsibleColumn,\n TableCollapsibleColumnStylesNames,\n} from './table-column/TableCollapsibleColumn.js';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn.js';\nimport {TableColumnsSelector, TableColumnsSelectorStylesNames} from './table-columns-selector/TableColumnsSelector.js';\nimport {TableDateRangePicker, TableDateRangePickerStylesNames} from './table-date-range-picker/TableDateRangePicker.js';\nimport {TableFilter, TableFilterStylesNames} from './table-filter/TableFilter.js';\nimport {TableFooter} from './table-footer/TableFooter.js';\nimport {TableHeader, TableHeaderStylesNames} from './table-header/TableHeader.js';\nimport {TableThStylesNames} from './table-header/Th.js';\nimport {TableLastUpdated, TableLastUpdatedStylesNames} from './table-last-updated/TableLastUpdated.js';\nimport {TableLoading} from './table-loading/TableLoading.js';\nimport {TableNoData} from './table-no-data/TableNoData.js';\nimport {TablePagination} from './table-pagination/TablePagination.js';\nimport {TablePerPage} from './table-per-page/TablePerPage.js';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate.js';\nimport {TableState} from './use-table.js';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableHeaderActionsStylesNames\n | TableActionsListStylesNames\n | TableActionItemStylesNames\n | TableCollapsibleColumnStylesNames\n | TableDateRangePickerStylesNames\n | TableFilterStylesNames\n | TableHeaderStylesNames\n | TableThStylesNames\n | TableLastUpdatedStylesNames\n | TablePredicateStylesNames\n | TableColumnsSelectorStylesNames;\n\nexport type PlasmaTableFactory = Factory<{\n props: TableProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableStylesNames;\n staticComponents: {\n AccordionColumn: typeof TableAccordionColumn;\n ActionsColumn: typeof TableActionsColumn;\n ActionItem: typeof TableActionItem;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n ColumnsSelector: typeof TableColumnsSelector;\n DateRangePicker: typeof TableDateRangePicker;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Layouts: typeof TableLayouts;\n Loading: typeof TableLoading;\n NoData: typeof TableNoData;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n layoutProps: {},\n loading: false,\n additionalRootNodes: [],\n options: {},\n getRowActions: () => [],\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n store,\n data,\n getRowId,\n getRowAttributes,\n getRowExpandedContent,\n getRowActions,\n columns,\n layouts,\n layoutProps,\n children,\n loading,\n additionalRootNodes,\n options,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('PlasmaTable', defaultProps as TableProps<T>, props);\n\n const getStyles = useStyles<PlasmaTableFactory>({\n name: 'PlasmaTable',\n classes,\n props: props as TableProps<unknown>,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n const noData = convertedChildren.find((child) => child.type === TableNoData);\n\n const table = useReactTable({\n data,\n state: {\n globalFilter: store.state.globalFilter,\n sorting: store.state.sorting,\n pagination: store.state.pagination,\n columnVisibility: store.state.columnVisibility,\n expanded: store.state.expanded,\n },\n onGlobalFilterChange: store.setGlobalFilter,\n onExpandedChange: store.setExpanded,\n onSortingChange: store.setSorting,\n onPaginationChange: store.setPagination,\n onColumnVisibilityChange: store.setColumnVisibility,\n columns: store.multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!store.multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getRowExpandedContent?.(row.original, row.index, row),\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n rowCount: options?.getFilteredRowModel ? undefined : store.state.totalEntries,\n ...options,\n });\n\n table.setOptions((prev) => ({\n ...prev,\n state: {\n ...prev.state,\n rowSelection: store.state.rowSelection as RowSelectionState,\n },\n onRowSelectionChange: (rowSelectionUpdater) => {\n store.setRowSelection((old) => {\n const newRowSelection = (\n rowSelectionUpdater instanceof Function\n ? rowSelectionUpdater(old as RowSelectionState)\n : rowSelectionUpdater\n ) as TableState<T>['rowSelection'];\n\n if (isEqual(old, newRowSelection)) {\n return old;\n }\n\n const rows = table.getRowModel().rowsById;\n\n Object.keys(newRowSelection).forEach((rowId) => {\n if (newRowSelection[rowId] === true) {\n if (!rows[rowId]) {\n console.error(\n 'The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.',\n );\n }\n newRowSelection[rowId] = rows[rowId]?.original ?? (true as T);\n }\n });\n\n return newRowSelection;\n });\n },\n }));\n\n useEffect(() => {\n // Update the selected rows data when the data prop changes\n if (store.getSelectedRows().length > 0) {\n store.setRowSelection((old) => {\n const rowsById = table.getRowModel().rowsById;\n const newSelection = {...old};\n Object.keys(old).forEach((rowId) => {\n if (rowsById[rowId]) {\n newSelection[rowId] = rowsById[rowId].original;\n }\n });\n return isEqual(newSelection, old) ? old : newSelection;\n });\n }\n }, [data]);\n\n const containerRef = useRef<HTMLDivElement>();\n useClickOutside(\n () => {\n if (!store.multiRowSelectionEnabled && store.getSelectedRows().length > 0) {\n store.clearRowSelection();\n }\n },\n null,\n [containerRef.current, ...additionalRootNodes],\n );\n const mergedRef = useMergedRef(containerRef, ref);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout =\n store.state.layout === null ? layouts[0] : layouts.find(({displayName}) => displayName === store.state.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={mergedRef} {...others} {...getStyles('root')}>\n <TableProvider<T> value={{getStyles, getRowActions, store, table, layouts, containerRef}}>\n <Layout>\n {store.isVacant && !store.isFiltered ? (\n noData\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} mod={{loading}}>\n <thead {...getStyles('header')}>\n {header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading || !store.isFiltered}>\n {noData}\n </TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated}\n </>\n )}\n </Layout>\n </TableProvider>\n </Box>\n );\n};\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 7,\n Actions: 6,\n Predicate: 5,\n Filter: 4,\n DateRangePicker: 3,\n ColumnsSelector: 2,\n LayoutControl: 1,\n};\n\nTable.AccordionColumn = TableAccordionColumn;\nTable.ActionsColumn = TableActionsColumn;\nTable.ActionItem = TableActionItem;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.ColumnsSelector = TableColumnsSelector;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Layouts = TableLayouts;\nTable.Loading = TableLoading;\nTable.NoData = TableNoData;\nTable.Pagination = TablePagination;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Box","Center","Loader","useProps","useStyles","useClickOutside","useMergedRef","defaultColumnSizing","getCoreRowModel","useReactTable","isEqual","Children","useEffect","useRef","identity","classes","TableProvider","TableLayouts","TableActionItem","TableActionsColumn","TableAccordionColumn","TableCollapsibleColumn","TableSelectableColumn","TableColumnsSelector","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TableLastUpdated","TableLoading","TableNoData","TablePagination","TablePerPage","TablePredicate","defaultProps","layouts","Rows","layoutProps","loading","additionalRootNodes","options","getRowActions","Table","props","store","data","getRowId","getRowAttributes","getRowExpandedContent","columns","children","ref","style","className","classNames","styles","unstyled","others","getStyles","name","convertedChildren","toArray","header","find","child","type","footer","lastUpdated","noData","table","state","globalFilter","sorting","pagination","columnVisibility","expanded","onGlobalFilterChange","setGlobalFilter","onExpandedChange","setExpanded","onSortingChange","setSorting","onPaginationChange","setPagination","onColumnVisibilityChange","setColumnVisibility","multiRowSelectionEnabled","concat","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","index","enableRowSelection","defaultColumn","size","minSize","maxSize","rowCount","getFilteredRowModel","totalEntries","setOptions","prev","rowSelection","onRowSelectionChange","rowSelectionUpdater","setRowSelection","old","newRowSelection","Function","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","getSelectedRows","length","newSelection","containerRef","clearRowSelection","current","mergedRef","flexGrow","Layout","layout","displayName","hasRows","value","isVacant","isFiltered","component","mod","thead","tr","th","padding","colSpan","getAllColumns","Header","tbody","Body","td","visible","TableComponentsOrder","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","AccordionColumn","ActionsColumn","ActionItem","CollapsibleColumn","Footer","LastUpdated","Layouts","Loading","NoData","Pagination","PerPage","extend"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Factory, Loader, useProps, useStyles} from '@mantine/core';\nimport {useClickOutside, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n Row,\n RowSelectionState,\n defaultColumnSizing,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport isEqual from 'fast-deep-equal';\nimport {Children, ForwardedRef, ReactElement, useEffect, useRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../utils/index.js';\nimport classes from './Table.module.css';\nimport {TableLayout, TableProps} from './Table.types.js';\nimport {TableProvider} from './TableContext.js';\nimport {TableLayouts} from './layouts/TableLayouts.js';\nimport {TableActionItem, TableActionItemStylesNames, TableHeaderActionsStylesNames} from './table-actions/index.js';\nimport {TableActionsListStylesNames} from './table-actions/TableActionsList.js';\nimport {TableActionsColumn} from './table-column/TableActionsColumn.js';\nimport {\n TableAccordionColumn,\n TableCollapsibleColumn,\n TableCollapsibleColumnStylesNames,\n} from './table-column/TableCollapsibleColumn.js';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn.js';\nimport {TableColumnsSelector, TableColumnsSelectorStylesNames} from './table-columns-selector/TableColumnsSelector.js';\nimport {TableDateRangePicker, TableDateRangePickerStylesNames} from './table-date-range-picker/TableDateRangePicker.js';\nimport {TableFilter, TableFilterStylesNames} from './table-filter/TableFilter.js';\nimport {TableFooter} from './table-footer/TableFooter.js';\nimport {TableHeader, TableHeaderStylesNames} from './table-header/TableHeader.js';\nimport {TableThStylesNames} from './table-header/Th.js';\nimport {TableLastUpdated, TableLastUpdatedStylesNames} from './table-last-updated/TableLastUpdated.js';\nimport {TableLoading} from './table-loading/TableLoading.js';\nimport {TableNoData} from './table-no-data/TableNoData.js';\nimport {TablePagination} from './table-pagination/TablePagination.js';\nimport {TablePerPage} from './table-per-page/TablePerPage.js';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate.js';\nimport {TableState} from './use-table.js';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableHeaderActionsStylesNames\n | TableActionsListStylesNames\n | TableActionItemStylesNames\n | TableCollapsibleColumnStylesNames\n | TableDateRangePickerStylesNames\n | TableFilterStylesNames\n | TableHeaderStylesNames\n | TableThStylesNames\n | TableLastUpdatedStylesNames\n | TablePredicateStylesNames\n | TableColumnsSelectorStylesNames;\n\nexport type PlasmaTableFactory = Factory<{\n props: TableProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableStylesNames;\n staticComponents: {\n AccordionColumn: typeof TableAccordionColumn;\n ActionsColumn: typeof TableActionsColumn;\n ActionItem: typeof TableActionItem;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n ColumnsSelector: typeof TableColumnsSelector;\n DateRangePicker: typeof TableDateRangePicker;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Layouts: typeof TableLayouts;\n Loading: typeof TableLoading;\n NoData: typeof TableNoData;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n layoutProps: {},\n loading: false,\n additionalRootNodes: [],\n options: {},\n getRowActions: () => [],\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n store,\n data,\n getRowId,\n getRowAttributes,\n getRowExpandedContent,\n getRowActions,\n columns,\n layouts,\n layoutProps,\n children,\n loading,\n additionalRootNodes,\n options,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('PlasmaTable', defaultProps as TableProps<T>, props);\n\n const getStyles = useStyles<PlasmaTableFactory>({\n name: 'PlasmaTable',\n classes,\n props: props as TableProps<unknown>,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n const noData = convertedChildren.find((child) => child.type === TableNoData);\n\n const table = useReactTable({\n data,\n state: {\n globalFilter: store.state.globalFilter,\n sorting: store.state.sorting,\n pagination: store.state.pagination,\n columnVisibility: store.state.columnVisibility,\n expanded: store.state.expanded,\n },\n onGlobalFilterChange: store.setGlobalFilter,\n onExpandedChange: store.setExpanded,\n onSortingChange: store.setSorting,\n onPaginationChange: store.setPagination,\n onColumnVisibilityChange: store.setColumnVisibility,\n columns: store.multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!store.multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getRowExpandedContent?.(row.original, row.index, row),\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n rowCount: options?.getFilteredRowModel ? undefined : store.state.totalEntries,\n ...options,\n });\n\n table.setOptions((prev) => ({\n ...prev,\n state: {\n ...prev.state,\n rowSelection: store.state.rowSelection as RowSelectionState,\n },\n onRowSelectionChange: (rowSelectionUpdater) => {\n store.setRowSelection((old) => {\n const newRowSelection = (\n rowSelectionUpdater instanceof Function\n ? rowSelectionUpdater(old as RowSelectionState)\n : rowSelectionUpdater\n ) as TableState<T>['rowSelection'];\n\n if (isEqual(old, newRowSelection)) {\n return old;\n }\n\n const rows = table.getRowModel().rowsById;\n\n Object.keys(newRowSelection).forEach((rowId) => {\n if (newRowSelection[rowId] === true) {\n if (!rows[rowId]) {\n console.error(\n 'The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.',\n );\n }\n newRowSelection[rowId] = rows[rowId]?.original ?? (true as T);\n }\n });\n\n return newRowSelection;\n });\n },\n }));\n\n useEffect(() => {\n // Update the selected rows data when the data prop changes\n if (store.getSelectedRows().length > 0) {\n store.setRowSelection((old) => {\n const rowsById = table.getRowModel().rowsById;\n const newSelection = {...old};\n Object.keys(old).forEach((rowId) => {\n if (rowsById[rowId]) {\n newSelection[rowId] = rowsById[rowId].original;\n }\n });\n return isEqual(newSelection, old) ? old : newSelection;\n });\n }\n }, [data]);\n\n const containerRef = useRef<HTMLDivElement>();\n useClickOutside(\n () => {\n if (!store.multiRowSelectionEnabled && store.getSelectedRows().length > 0) {\n store.clearRowSelection();\n }\n },\n null,\n [containerRef.current, ...additionalRootNodes],\n );\n const mergedRef = useMergedRef(containerRef, ref);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout =\n store.state.layout === null ? layouts[0] : layouts.find(({displayName}) => displayName === store.state.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={mergedRef} {...others} {...getStyles('root')}>\n <TableProvider<T> value={{getStyles, getRowActions, store, table, layouts, containerRef}}>\n <Layout>\n {store.isVacant && !store.isFiltered ? (\n noData\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} mod={{loading}}>\n <thead {...getStyles('header')}>\n {header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading || !store.isFiltered}>\n {noData}\n </TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated}\n </>\n )}\n </Layout>\n </TableProvider>\n </Box>\n );\n};\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 7,\n Actions: 6,\n Predicate: 5,\n Filter: 4,\n DateRangePicker: 3,\n ColumnsSelector: 2,\n LayoutControl: 1,\n};\n\nTable.AccordionColumn = TableAccordionColumn;\nTable.ActionsColumn = TableActionsColumn;\nTable.ActionItem = TableActionItem;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.ColumnsSelector = TableColumnsSelector;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Layouts = TableLayouts;\nTable.Loading = TableLoading;\nTable.NoData = TableNoData;\nTable.Pagination = TablePagination;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Box","Center","Loader","useProps","useStyles","useClickOutside","useMergedRef","defaultColumnSizing","getCoreRowModel","useReactTable","isEqual","Children","useEffect","useRef","identity","classes","TableProvider","TableLayouts","TableActionItem","TableActionsColumn","TableAccordionColumn","TableCollapsibleColumn","TableSelectableColumn","TableColumnsSelector","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TableLastUpdated","TableLoading","TableNoData","TablePagination","TablePerPage","TablePredicate","defaultProps","layouts","Rows","layoutProps","loading","additionalRootNodes","options","getRowActions","Table","props","store","data","getRowId","getRowAttributes","getRowExpandedContent","columns","children","ref","style","className","classNames","styles","unstyled","others","getStyles","name","convertedChildren","toArray","header","find","child","type","footer","lastUpdated","noData","table","state","globalFilter","sorting","pagination","columnVisibility","expanded","onGlobalFilterChange","setGlobalFilter","onExpandedChange","setExpanded","onSortingChange","setSorting","onPaginationChange","setPagination","onColumnVisibilityChange","setColumnVisibility","multiRowSelectionEnabled","concat","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","index","enableRowSelection","defaultColumn","size","minSize","maxSize","rowCount","getFilteredRowModel","totalEntries","setOptions","prev","rowSelection","onRowSelectionChange","rowSelectionUpdater","setRowSelection","old","newRowSelection","Function","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","getSelectedRows","length","newSelection","containerRef","clearRowSelection","current","mergedRef","flexGrow","Layout","layout","displayName","hasRows","value","isVacant","isFiltered","component","mod","thead","tr","th","padding","colSpan","getAllColumns","Header","tbody","Body","td","visible","TableComponentsOrder","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","AccordionColumn","ActionsColumn","ActionItem","CollapsibleColumn","Footer","LastUpdated","Layouts","Loading","NoData","Pagination","PerPage","extend"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { GetStylesApi } from '@mantine/core';
|
|
|
2
2
|
import { Table } from '@tanstack/table-core';
|
|
3
3
|
import { MutableRefObject, ReactElement } from 'react';
|
|
4
4
|
import { type PlasmaTableFactory } from './Table.js';
|
|
5
|
-
import { TableAction, TableLayout } from './Table.types';
|
|
5
|
+
import { TableAction, TableLayout } from './Table.types.js';
|
|
6
6
|
import { TableStore } from './use-table.js';
|
|
7
7
|
export interface TableContextValue<TData = unknown> {
|
|
8
8
|
getStyles: GetStylesApi<PlasmaTableFactory>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableContext.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAC,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,OAAO,CAAC;AACrD,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,YAAY,CAAC;AACnD,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"TableContext.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAC,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,OAAO,CAAC;AACrD,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,YAAY,CAAC;AACnD,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAE1C,MAAM,WAAW,iBAAiB,CAAC,KAAK,GAAG,OAAO;IAC9C,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAC5C,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,CAAC;IACjD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,YAAY,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACzB;AAED,eAAO,MAAO,aAAa,GAEpB,KAAK,SAAS,kBAAkB,CAAC,KAAK,CAAC,KAAK,YAAY,EAFlC,eAAe,GAEsB,KAAK,OAAO,iBAAiB,CAAC,KAAK,CAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/TableContext.tsx"],"sourcesContent":["import {createSafeContext, GetStylesApi} from '@mantine/core';\nimport {Table} from '@tanstack/table-core';\nimport {MutableRefObject, ReactElement} from 'react';\nimport {type PlasmaTableFactory} from './Table.js';\nimport {TableAction, TableLayout} from './Table.types';\nimport {TableStore} from './use-table.js';\n\nexport interface TableContextValue<TData = unknown> {\n getStyles: GetStylesApi<PlasmaTableFactory>;\n store: TableStore<TData>;\n layouts: TableLayout[];\n getRowActions: (datum: TData[]) => TableAction[];\n table: Table<TData>;\n containerRef: MutableRefObject<HTMLDivElement>;\n}\n\nexport interface TableProviderProps<T> {\n value: TableContextValue<T>;\n children: JSX.Element;\n}\n\nexport const [TableProvider, useTableContext] = createSafeContext<TableContextValue>(\n 'Table component was not found in the tree',\n) as [<TData>(props: TableProviderProps<TData>) => ReactElement, <TData>() => TableContextValue<TData>];\n"],"names":["createSafeContext","TableProvider","useTableContext"],"mappings":"AAAA,SAAQA,iBAAiB,QAAqB,gBAAgB;AAqB9D,OAAO,MAAM,CAACC,eAAeC,gBAAgB,GAAGF,kBAC5C,6CACoG"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/TableContext.tsx"],"sourcesContent":["import {createSafeContext, GetStylesApi} from '@mantine/core';\nimport {Table} from '@tanstack/table-core';\nimport {MutableRefObject, ReactElement} from 'react';\nimport {type PlasmaTableFactory} from './Table.js';\nimport {TableAction, TableLayout} from './Table.types.js';\nimport {TableStore} from './use-table.js';\n\nexport interface TableContextValue<TData = unknown> {\n getStyles: GetStylesApi<PlasmaTableFactory>;\n store: TableStore<TData>;\n layouts: TableLayout[];\n getRowActions: (datum: TData[]) => TableAction[];\n table: Table<TData>;\n containerRef: MutableRefObject<HTMLDivElement>;\n}\n\nexport interface TableProviderProps<T> {\n value: TableContextValue<T>;\n children: JSX.Element;\n}\n\nexport const [TableProvider, useTableContext] = createSafeContext<TableContextValue>(\n 'Table component was not found in the tree',\n) as [<TData>(props: TableProviderProps<TData>) => ReactElement, <TData>() => TableContextValue<TData>];\n"],"names":["createSafeContext","TableProvider","useTableContext"],"mappings":"AAAA,SAAQA,iBAAiB,QAAqB,gBAAgB;AAqB9D,OAAO,MAAM,CAACC,eAAeC,gBAAgB,GAAGF,kBAC5C,6CACoG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { flexRender as renderTableCell } from '@tanstack/react-table';
|
|
2
2
|
export * from './Table.js';
|
|
3
3
|
export { type TablePredicateProps } from './table-predicate/TablePredicate.js';
|
|
4
|
-
export { type TableAction, type TableLayout, type TableLayoutProps, type TableProps } from './Table.types';
|
|
4
|
+
export { type TableAction, type TableLayout, type TableLayoutProps, type TableProps } from './Table.types.js';
|
|
5
5
|
export { useTableContext } from './TableContext.js';
|
|
6
6
|
export { useTable, type TableState, type TableStore, type UseTableOptions } from './use-table.js';
|
|
7
7
|
export { useUrlSyncedState, type UseUrlSyncedStateOptions, type SearchParamEntry } from './use-url-synced-state.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,IAAI,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACpE,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAC,KAAK,mBAAmB,EAAC,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAC,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,IAAI,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACpE,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAC,KAAK,mBAAmB,EAAC,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAC,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAAC,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,KAAK,gBAAgB,EAAC,MAAM,2BAA2B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export {flexRender as renderTableCell} from '@tanstack/react-table';\nexport * from './Table.js';\nexport {type TablePredicateProps} from './table-predicate/TablePredicate.js';\nexport {type TableAction, type TableLayout, type TableLayoutProps, type TableProps} from './Table.types';\nexport {useTableContext} from './TableContext.js';\nexport {useTable, type TableState, type TableStore, type UseTableOptions} from './use-table.js';\nexport {useUrlSyncedState, type UseUrlSyncedStateOptions, type SearchParamEntry} from './use-url-synced-state.js';\n"],"names":["flexRender","renderTableCell","useTableContext","useTable","useUrlSyncedState"],"mappings":"AAAA,SAAQA,cAAcC,eAAe,QAAO,wBAAwB;AACpE,cAAc,aAAa;AAG3B,SAAQC,eAAe,QAAO,oBAAoB;AAClD,SAAQC,QAAQ,QAA+D,iBAAiB;AAChG,SAAQC,iBAAiB,QAA6D,4BAA4B"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export {flexRender as renderTableCell} from '@tanstack/react-table';\nexport * from './Table.js';\nexport {type TablePredicateProps} from './table-predicate/TablePredicate.js';\nexport {type TableAction, type TableLayout, type TableLayoutProps, type TableProps} from './Table.types.js';\nexport {useTableContext} from './TableContext.js';\nexport {useTable, type TableState, type TableStore, type UseTableOptions} from './use-table.js';\nexport {useUrlSyncedState, type UseUrlSyncedStateOptions, type SearchParamEntry} from './use-url-synced-state.js';\n"],"names":["flexRender","renderTableCell","useTableContext","useTable","useUrlSyncedState"],"mappings":"AAAA,SAAQA,cAAcC,eAAe,QAAO,wBAAwB;AACpE,cAAc,aAAa;AAG3B,SAAQC,eAAe,QAAO,oBAAoB;AAClD,SAAQC,QAAQ,QAA+D,iBAAiB;AAChG,SAAQC,iBAAiB,QAA6D,4BAA4B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { FunctionComponent } from 'react';
|
|
2
|
-
import { TablePaginationProps } from './TablePagination.types';
|
|
2
|
+
import { TablePaginationProps } from './TablePagination.types.js';
|
|
3
3
|
export declare const TablePagination: FunctionComponent<TablePaginationProps>;
|
|
4
4
|
//# sourceMappingURL=TablePagination.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TablePagination.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-pagination/TablePagination.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAExC,OAAO,EAAC,oBAAoB,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"TablePagination.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-pagination/TablePagination.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAExC,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAGhE,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,oBAAoB,CAwCnE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/table/table-pagination/TablePagination.tsx"],"sourcesContent":["import {Pagination} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {FunctionComponent} from 'react';\n\nimport {TablePaginationProps} from './TablePagination.types';\nimport {useTableContext} from '../TableContext.js';\n\nexport const TablePagination: FunctionComponent<TablePaginationProps> = ({onPageChange}) => {\n const {store, table, containerRef} = useTableContext();\n\n const updatePage = (newPage: number) => {\n onPageChange?.(newPage - 1);\n store.setPagination((prev) => ({...prev, pageIndex: newPage - 1}));\n containerRef.current.scrollIntoView({behavior: 'smooth'});\n };\n\n const total = table.getPageCount();\n\n useDidUpdate(() => {\n if (store.state.pagination.pageIndex + 1 > total && total > 0) {\n updatePage(total);\n }\n }, [store.state.pagination.pageIndex, total]);\n\n return (\n <Pagination\n value={store.state.pagination.pageIndex + 1}\n onChange={updatePage}\n total={total}\n boundaries={1}\n size=\"md\"\n gap=\"xs\"\n getControlProps={(control) => {\n switch (control) {\n case 'previous':\n return {\n component: 'button',\n 'aria-label': 'previous page',\n };\n case 'next':\n return {component: 'button', 'aria-label': 'next page'};\n default:\n return {};\n }\n }}\n />\n );\n};\n"],"names":["Pagination","useDidUpdate","useTableContext","TablePagination","onPageChange","store","table","containerRef","updatePage","newPage","setPagination","prev","pageIndex","current","scrollIntoView","behavior","total","getPageCount","state","pagination","value","onChange","boundaries","size","gap","getControlProps","control","component"],"mappings":";AAAA,SAAQA,UAAU,QAAO,gBAAgB;AACzC,SAAQC,YAAY,QAAO,iBAAiB;AAI5C,SAAQC,eAAe,QAAO,qBAAqB;AAEnD,OAAO,MAAMC,kBAA2D,CAAC,EAACC,YAAY,EAAC;IACnF,MAAM,EAACC,KAAK,EAAEC,KAAK,EAAEC,YAAY,EAAC,GAAGL;IAErC,MAAMM,aAAa,CAACC;QAChBL,eAAeK,UAAU;QACzBJ,MAAMK,aAAa,CAAC,CAACC,OAAU,CAAA;gBAAC,GAAGA,IAAI;gBAAEC,WAAWH,UAAU;YAAC,CAAA;QAC/DF,aAAaM,OAAO,CAACC,cAAc,CAAC;YAACC,UAAU;QAAQ;IAC3D;IAEA,MAAMC,QAAQV,MAAMW,YAAY;IAEhChB,aAAa;QACT,IAAII,MAAMa,KAAK,CAACC,UAAU,CAACP,SAAS,GAAG,IAAII,SAASA,QAAQ,GAAG;YAC3DR,WAAWQ;QACf;IACJ,GAAG;QAACX,MAAMa,KAAK,CAACC,UAAU,CAACP,SAAS;QAAEI;KAAM;IAE5C,qBACI,KAAChB;QACGoB,OAAOf,MAAMa,KAAK,CAACC,UAAU,CAACP,SAAS,GAAG;QAC1CS,UAAUb;QACVQ,OAAOA;QACPM,YAAY;QACZC,MAAK;QACLC,KAAI;QACJC,iBAAiB,CAACC;YACd,OAAQA;gBACJ,KAAK;oBACD,OAAO;wBACHC,WAAW;wBACX,cAAc;oBAClB;gBACJ,KAAK;oBACD,OAAO;wBAACA,WAAW;wBAAU,cAAc;oBAAW;gBAC1D;oBACI,OAAO,CAAC;YAChB;QACJ;;AAGZ,EAAE"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/table/table-pagination/TablePagination.tsx"],"sourcesContent":["import {Pagination} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {FunctionComponent} from 'react';\n\nimport {TablePaginationProps} from './TablePagination.types.js';\nimport {useTableContext} from '../TableContext.js';\n\nexport const TablePagination: FunctionComponent<TablePaginationProps> = ({onPageChange}) => {\n const {store, table, containerRef} = useTableContext();\n\n const updatePage = (newPage: number) => {\n onPageChange?.(newPage - 1);\n store.setPagination((prev) => ({...prev, pageIndex: newPage - 1}));\n containerRef.current.scrollIntoView({behavior: 'smooth'});\n };\n\n const total = table.getPageCount();\n\n useDidUpdate(() => {\n if (store.state.pagination.pageIndex + 1 > total && total > 0) {\n updatePage(total);\n }\n }, [store.state.pagination.pageIndex, total]);\n\n return (\n <Pagination\n value={store.state.pagination.pageIndex + 1}\n onChange={updatePage}\n total={total}\n boundaries={1}\n size=\"md\"\n gap=\"xs\"\n getControlProps={(control) => {\n switch (control) {\n case 'previous':\n return {\n component: 'button',\n 'aria-label': 'previous page',\n };\n case 'next':\n return {component: 'button', 'aria-label': 'next page'};\n default:\n return {};\n }\n }}\n />\n );\n};\n"],"names":["Pagination","useDidUpdate","useTableContext","TablePagination","onPageChange","store","table","containerRef","updatePage","newPage","setPagination","prev","pageIndex","current","scrollIntoView","behavior","total","getPageCount","state","pagination","value","onChange","boundaries","size","gap","getControlProps","control","component"],"mappings":";AAAA,SAAQA,UAAU,QAAO,gBAAgB;AACzC,SAAQC,YAAY,QAAO,iBAAiB;AAI5C,SAAQC,eAAe,QAAO,qBAAqB;AAEnD,OAAO,MAAMC,kBAA2D,CAAC,EAACC,YAAY,EAAC;IACnF,MAAM,EAACC,KAAK,EAAEC,KAAK,EAAEC,YAAY,EAAC,GAAGL;IAErC,MAAMM,aAAa,CAACC;QAChBL,eAAeK,UAAU;QACzBJ,MAAMK,aAAa,CAAC,CAACC,OAAU,CAAA;gBAAC,GAAGA,IAAI;gBAAEC,WAAWH,UAAU;YAAC,CAAA;QAC/DF,aAAaM,OAAO,CAACC,cAAc,CAAC;YAACC,UAAU;QAAQ;IAC3D;IAEA,MAAMC,QAAQV,MAAMW,YAAY;IAEhChB,aAAa;QACT,IAAII,MAAMa,KAAK,CAACC,UAAU,CAACP,SAAS,GAAG,IAAII,SAASA,QAAQ,GAAG;YAC3DR,WAAWQ;QACf;IACJ,GAAG;QAACX,MAAMa,KAAK,CAACC,UAAU,CAACP,SAAS;QAAEI;KAAM;IAE5C,qBACI,KAAChB;QACGoB,OAAOf,MAAMa,KAAK,CAACC,UAAU,CAACP,SAAS,GAAG;QAC1CS,UAAUb;QACVQ,OAAOA;QACPM,YAAY;QACZC,MAAK;QACLC,KAAI;QACJC,iBAAiB,CAACC;YACd,OAAQA;gBACJ,KAAK;oBACD,OAAO;wBACHC,WAAW;wBACX,cAAc;oBAClB;gBACJ,KAAK;oBACD,OAAO;wBAACA,WAAW;wBAAU,cAAc;oBAAW;gBAC1D;oBACI,OAAO,CAAC;YAChB;QACJ;;AAGZ,EAAE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FunctionComponent } from 'react';
|
|
2
|
-
import { TablePerPageProps } from './TablePerPage.types';
|
|
2
|
+
import { TablePerPageProps } from './TablePerPage.types.js';
|
|
3
3
|
export declare const TablePerPage: FunctionComponent<TablePerPageProps> & {
|
|
4
4
|
DEFAULT_SIZE: number;
|
|
5
5
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TablePerPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-per-page/TablePerPage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAU,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAC,iBAAiB,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"TablePerPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-per-page/TablePerPage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAU,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAE1D,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,GAAG;IAAC,YAAY,EAAE,MAAM,CAAA;CAwBtF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/table/table-per-page/TablePerPage.tsx"],"sourcesContent":["import {Group, SegmentedControl, Text} from '@mantine/core';\nimport {FunctionComponent, useMemo} from 'react';\n\nimport {useTableContext} from '../TableContext.js';\nimport {TablePerPageProps} from './TablePerPage.types';\n\nexport const TablePerPage: FunctionComponent<TablePerPageProps> & {DEFAULT_SIZE: number} = ({\n label = 'Results per page',\n values = [25, 50, 100],\n onPerPageChange,\n}) => {\n const {store, table} = useTableContext();\n const choices = useMemo(() => values.map((value) => value.toString()), [values]);\n\n const updatePerPage = (newPerPage: string) => {\n onPerPageChange?.(Number(newPerPage));\n store.setPagination({pageIndex: 0, pageSize: parseInt(newPerPage, 10)});\n };\n\n return table.getPageCount() > 0 ? (\n <Group gap=\"sm\">\n <Text fw={500}>{label}</Text>\n <SegmentedControl\n value={store.state.pagination.pageSize.toString() ?? choices[1] ?? choices[0]}\n onChange={updatePerPage}\n data={choices}\n size=\"sm\"\n />\n </Group>\n ) : null;\n};\n\nTablePerPage.DEFAULT_SIZE = 50;\n"],"names":["Group","SegmentedControl","Text","useMemo","useTableContext","TablePerPage","label","values","onPerPageChange","store","table","choices","map","value","toString","updatePerPage","newPerPage","Number","setPagination","pageIndex","pageSize","parseInt","getPageCount","gap","fw","state","pagination","onChange","data","size","DEFAULT_SIZE"],"mappings":";AAAA,SAAQA,KAAK,EAAEC,gBAAgB,EAAEC,IAAI,QAAO,gBAAgB;AAC5D,SAA2BC,OAAO,QAAO,QAAQ;AAEjD,SAAQC,eAAe,QAAO,qBAAqB;AAGnD,OAAO,MAAMC,eAA8E,CAAC,EACxFC,QAAQ,kBAAkB,EAC1BC,SAAS;IAAC;IAAI;IAAI;CAAI,EACtBC,eAAe,EAClB;IACG,MAAM,EAACC,KAAK,EAAEC,KAAK,EAAC,GAAGN;IACvB,MAAMO,UAAUR,QAAQ,IAAMI,OAAOK,GAAG,CAAC,CAACC,QAAUA,MAAMC,QAAQ,KAAK;QAACP;KAAO;IAE/E,MAAMQ,gBAAgB,CAACC;QACnBR,kBAAkBS,OAAOD;QACzBP,MAAMS,aAAa,CAAC;YAACC,WAAW;YAAGC,UAAUC,SAASL,YAAY;QAAG;IACzE;IAEA,OAAON,MAAMY,YAAY,KAAK,kBAC1B,MAACtB;QAAMuB,KAAI;;0BACP,KAACrB;gBAAKsB,IAAI;0BAAMlB;;0BAChB,KAACL;gBACGY,OAAOJ,MAAMgB,KAAK,CAACC,UAAU,CAACN,QAAQ,CAACN,QAAQ,MAAMH,OAAO,CAAC,EAAE,IAAIA,OAAO,CAAC,EAAE;gBAC7EgB,UAAUZ;gBACVa,MAAMjB;gBACNkB,MAAK;;;SAGb;AACR,EAAE;AAEFxB,aAAayB,YAAY,GAAG"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/table/table-per-page/TablePerPage.tsx"],"sourcesContent":["import {Group, SegmentedControl, Text} from '@mantine/core';\nimport {FunctionComponent, useMemo} from 'react';\n\nimport {useTableContext} from '../TableContext.js';\nimport {TablePerPageProps} from './TablePerPage.types.js';\n\nexport const TablePerPage: FunctionComponent<TablePerPageProps> & {DEFAULT_SIZE: number} = ({\n label = 'Results per page',\n values = [25, 50, 100],\n onPerPageChange,\n}) => {\n const {store, table} = useTableContext();\n const choices = useMemo(() => values.map((value) => value.toString()), [values]);\n\n const updatePerPage = (newPerPage: string) => {\n onPerPageChange?.(Number(newPerPage));\n store.setPagination({pageIndex: 0, pageSize: parseInt(newPerPage, 10)});\n };\n\n return table.getPageCount() > 0 ? (\n <Group gap=\"sm\">\n <Text fw={500}>{label}</Text>\n <SegmentedControl\n value={store.state.pagination.pageSize.toString() ?? choices[1] ?? choices[0]}\n onChange={updatePerPage}\n data={choices}\n size=\"sm\"\n />\n </Group>\n ) : null;\n};\n\nTablePerPage.DEFAULT_SIZE = 50;\n"],"names":["Group","SegmentedControl","Text","useMemo","useTableContext","TablePerPage","label","values","onPerPageChange","store","table","choices","map","value","toString","updatePerPage","newPerPage","Number","setPagination","pageIndex","pageSize","parseInt","getPageCount","gap","fw","state","pagination","onChange","data","size","DEFAULT_SIZE"],"mappings":";AAAA,SAAQA,KAAK,EAAEC,gBAAgB,EAAEC,IAAI,QAAO,gBAAgB;AAC5D,SAA2BC,OAAO,QAAO,QAAQ;AAEjD,SAAQC,eAAe,QAAO,qBAAqB;AAGnD,OAAO,MAAMC,eAA8E,CAAC,EACxFC,QAAQ,kBAAkB,EAC1BC,SAAS;IAAC;IAAI;IAAI;CAAI,EACtBC,eAAe,EAClB;IACG,MAAM,EAACC,KAAK,EAAEC,KAAK,EAAC,GAAGN;IACvB,MAAMO,UAAUR,QAAQ,IAAMI,OAAOK,GAAG,CAAC,CAACC,QAAUA,MAAMC,QAAQ,KAAK;QAACP;KAAO;IAE/E,MAAMQ,gBAAgB,CAACC;QACnBR,kBAAkBS,OAAOD;QACzBP,MAAMS,aAAa,CAAC;YAACC,WAAW;YAAGC,UAAUC,SAASL,YAAY;QAAG;IACzE;IAEA,OAAON,MAAMY,YAAY,KAAK,kBAC1B,MAACtB;QAAMuB,KAAI;;0BACP,KAACrB;gBAAKsB,IAAI;0BAAMlB;;0BAChB,KAACL;gBACGY,OAAOJ,MAAMgB,KAAK,CAACC,UAAU,CAACN,QAAQ,CAACN,QAAQ,MAAMH,OAAO,CAAC,EAAE,IAAIA,OAAO,CAAC,EAAE;gBAC7EgB,UAAUZ;gBACVa,MAAMjB;gBACNkB,MAAK;;;SAGb;AACR,EAAE;AAEFxB,aAAayB,YAAY,GAAG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coveord/plasma-mantine",
|
|
3
|
-
"version": "56.1.
|
|
3
|
+
"version": "56.1.4",
|
|
4
4
|
"description": "A Plasma flavoured Mantine theme",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plasma",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"lodash.debounce": "4.0.8",
|
|
43
43
|
"lodash.defaultsdeep": "4.6.1",
|
|
44
44
|
"monaco-editor": "0.52.2",
|
|
45
|
-
"@coveord/plasma-
|
|
46
|
-
"@coveord/plasma-
|
|
45
|
+
"@coveord/plasma-react-icons": "56.1.4",
|
|
46
|
+
"@coveord/plasma-tokens": "56.1.4"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@mantine/carousel": "8.0.2",
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
useStyles,
|
|
13
13
|
} from '@mantine/core';
|
|
14
14
|
import {Children, ElementType, ReactElement, ReactNode} from 'react';
|
|
15
|
-
import {HeaderProvider} from './Header.context';
|
|
15
|
+
import {HeaderProvider} from './Header.context.js';
|
|
16
16
|
import classes from './Header.module.css';
|
|
17
17
|
import {
|
|
18
18
|
HeaderBreadcrumbAnchor,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from '@mantine/core';
|
|
12
12
|
import {Children, ComponentType, ReactElement, ReactNode} from 'react';
|
|
13
13
|
import {Modal} from '../modal/index.js';
|
|
14
|
-
import {PromptContextProvider} from './Prompt.context';
|
|
14
|
+
import {PromptContextProvider} from './Prompt.context.js';
|
|
15
15
|
import classes from './Prompt.module.css';
|
|
16
16
|
import {PromptCancelButton, PromptCancelButtonStylesNamesVariant} from './PromptCancelButton.js';
|
|
17
17
|
import {PromptConfirmButton, PromptConfirmButtonStylesNamesVariant} from './PromptConfirmButton.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {CompoundStylesApiProps, factory, Factory, useProps} from '@mantine/core';
|
|
2
2
|
import {Button, ButtonProps} from '../button/Button.js';
|
|
3
|
-
import {usePromptContext} from './Prompt.context';
|
|
3
|
+
import {usePromptContext} from './Prompt.context.js';
|
|
4
4
|
|
|
5
5
|
export type PromptCancelButtonStylesNamesVariant = 'cancel';
|
|
6
6
|
|
|
@@ -2,7 +2,7 @@ import {CompoundStylesApiProps, factory, Factory, PolymorphicComponentProps, use
|
|
|
2
2
|
import {JSXElementConstructor, ReactElement} from 'react';
|
|
3
3
|
import {Button, ButtonProps} from '../button/Button.js';
|
|
4
4
|
import {PromptVariant} from './Prompt.js';
|
|
5
|
-
import {usePromptContext} from './Prompt.context';
|
|
5
|
+
import {usePromptContext} from './Prompt.context.js';
|
|
6
6
|
|
|
7
7
|
export type PromptConfirmButtonStylesNamesVariant = 'confirm';
|
|
8
8
|
|
|
@@ -12,7 +12,7 @@ import isEqual from 'fast-deep-equal';
|
|
|
12
12
|
import {Children, ForwardedRef, ReactElement, useEffect, useRef} from 'react';
|
|
13
13
|
import {CustomComponentThemeExtend, identity} from '../../utils/index.js';
|
|
14
14
|
import classes from './Table.module.css';
|
|
15
|
-
import {TableLayout, TableProps} from './Table.types';
|
|
15
|
+
import {TableLayout, TableProps} from './Table.types.js';
|
|
16
16
|
import {TableProvider} from './TableContext.js';
|
|
17
17
|
import {TableLayouts} from './layouts/TableLayouts.js';
|
|
18
18
|
import {TableActionItem, TableActionItemStylesNames, TableHeaderActionsStylesNames} from './table-actions/index.js';
|
|
@@ -2,7 +2,7 @@ import {createSafeContext, GetStylesApi} from '@mantine/core';
|
|
|
2
2
|
import {Table} from '@tanstack/table-core';
|
|
3
3
|
import {MutableRefObject, ReactElement} from 'react';
|
|
4
4
|
import {type PlasmaTableFactory} from './Table.js';
|
|
5
|
-
import {TableAction, TableLayout} from './Table.types';
|
|
5
|
+
import {TableAction, TableLayout} from './Table.types.js';
|
|
6
6
|
import {TableStore} from './use-table.js';
|
|
7
7
|
|
|
8
8
|
export interface TableContextValue<TData = unknown> {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export {flexRender as renderTableCell} from '@tanstack/react-table';
|
|
2
2
|
export * from './Table.js';
|
|
3
3
|
export {type TablePredicateProps} from './table-predicate/TablePredicate.js';
|
|
4
|
-
export {type TableAction, type TableLayout, type TableLayoutProps, type TableProps} from './Table.types';
|
|
4
|
+
export {type TableAction, type TableLayout, type TableLayoutProps, type TableProps} from './Table.types.js';
|
|
5
5
|
export {useTableContext} from './TableContext.js';
|
|
6
6
|
export {useTable, type TableState, type TableStore, type UseTableOptions} from './use-table.js';
|
|
7
7
|
export {useUrlSyncedState, type UseUrlSyncedStateOptions, type SearchParamEntry} from './use-url-synced-state.js';
|
|
@@ -2,7 +2,7 @@ import {Pagination} from '@mantine/core';
|
|
|
2
2
|
import {useDidUpdate} from '@mantine/hooks';
|
|
3
3
|
import {FunctionComponent} from 'react';
|
|
4
4
|
|
|
5
|
-
import {TablePaginationProps} from './TablePagination.types';
|
|
5
|
+
import {TablePaginationProps} from './TablePagination.types.js';
|
|
6
6
|
import {useTableContext} from '../TableContext.js';
|
|
7
7
|
|
|
8
8
|
export const TablePagination: FunctionComponent<TablePaginationProps> = ({onPageChange}) => {
|
|
@@ -2,7 +2,7 @@ import {Group, SegmentedControl, Text} from '@mantine/core';
|
|
|
2
2
|
import {FunctionComponent, useMemo} from 'react';
|
|
3
3
|
|
|
4
4
|
import {useTableContext} from '../TableContext.js';
|
|
5
|
-
import {TablePerPageProps} from './TablePerPage.types';
|
|
5
|
+
import {TablePerPageProps} from './TablePerPage.types.js';
|
|
6
6
|
|
|
7
7
|
export const TablePerPage: FunctionComponent<TablePerPageProps> & {DEFAULT_SIZE: number} = ({
|
|
8
8
|
label = 'Results per page',
|