@coveord/plasma-mantine 53.1.0 → 53.1.2
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 +35 -35
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/components/action-icon/ActionIcon.js +1 -1
- package/dist/cjs/components/action-icon/ActionIcon.js.map +1 -1
- package/dist/cjs/components/action-icon/index.js.map +1 -1
- package/dist/cjs/components/blank-slate/BlankSlate.js +1 -1
- package/dist/cjs/components/blank-slate/BlankSlate.js.map +1 -1
- package/dist/cjs/components/blank-slate/index.js.map +1 -1
- package/dist/cjs/components/browser-preview/BrowserPreview.js.map +1 -1
- package/dist/cjs/components/browser-preview/index.js.map +1 -1
- package/dist/cjs/components/button/Button.js +3 -3
- package/dist/cjs/components/button/Button.js.map +1 -1
- package/dist/cjs/components/button/ButtonWithDisabledTooltip.js +3 -3
- package/dist/cjs/components/button/ButtonWithDisabledTooltip.js.map +1 -1
- package/dist/cjs/components/button/index.js.map +1 -1
- package/dist/cjs/components/code-editor/CodeEditor.js +14 -17
- package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/cjs/components/code-editor/index.js.map +1 -1
- package/dist/cjs/components/code-editor/languages/xml.js +5 -5
- package/dist/cjs/components/code-editor/languages/xml.js.map +1 -1
- package/dist/cjs/components/code-editor/search/Search.js +2 -2
- package/dist/cjs/components/code-editor/search/Search.js.map +1 -1
- package/dist/cjs/components/code-editor/search/index.js.map +1 -1
- package/dist/cjs/components/collection/Collection.js +16 -22
- package/dist/cjs/components/collection/Collection.js.map +1 -1
- package/dist/cjs/components/collection/CollectionContext.js +1 -1
- package/dist/cjs/components/collection/CollectionContext.js.map +1 -1
- package/dist/cjs/components/collection/CollectionItem.js +5 -5
- package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
- package/dist/cjs/components/collection/enhanceWithCollectionProps.js.map +1 -1
- package/dist/cjs/components/collection/index.js.map +1 -1
- package/dist/cjs/components/copyToClipboard/CopyToClipboard.js +4 -5
- package/dist/cjs/components/copyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/cjs/components/copyToClipboard/index.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js +2 -2
- package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js +2 -3
- package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js +1 -2
- package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
- package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js +10 -13
- package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/date-range-picker/index.js.map +1 -1
- package/dist/cjs/components/header/Header.context.js +1 -1
- package/dist/cjs/components/header/Header.context.js.map +1 -1
- package/dist/cjs/components/header/Header.js +11 -11
- package/dist/cjs/components/header/Header.js.map +1 -1
- package/dist/cjs/components/header/HeaderActions/HeaderActions.js +3 -3
- package/dist/cjs/components/header/HeaderActions/HeaderActions.js.map +1 -1
- package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbs.js +2 -2
- package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
- package/dist/cjs/components/header/HeaderDocAnchor/HeaderDocAnchor.js +4 -4
- package/dist/cjs/components/header/HeaderDocAnchor/HeaderDocAnchor.js.map +1 -1
- package/dist/cjs/components/header/index.js.map +1 -1
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirm.js +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmContext.js +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmContext.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js +9 -9
- package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js +1 -2
- package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
- package/dist/cjs/components/inline-confirm/index.js.map +1 -1
- package/dist/cjs/components/menu/Menu.js +3 -3
- package/dist/cjs/components/menu/Menu.js.map +1 -1
- package/dist/cjs/components/menu/index.js.map +1 -1
- package/dist/cjs/components/prompt/Prompt.js.map +1 -1
- package/dist/cjs/components/prompt/PromptFooter.js +2 -2
- package/dist/cjs/components/prompt/PromptFooter.js.map +1 -1
- package/dist/cjs/components/prompt/index.js.map +1 -1
- package/dist/cjs/components/sticky-footer/StickyFooter.js +5 -5
- package/dist/cjs/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/cjs/components/sticky-footer/index.js.map +1 -1
- package/dist/cjs/components/table/Table.js +18 -21
- package/dist/cjs/components/table/Table.js.map +1 -1
- package/dist/cjs/components/table/Table.types.js.map +1 -1
- package/dist/cjs/components/table/TableContext.js +5 -5
- package/dist/cjs/components/table/TableContext.js.map +1 -1
- package/dist/cjs/components/table/index.js.map +1 -1
- package/dist/cjs/components/table/layouts/TableLayoutControl.js +1 -1
- package/dist/cjs/components/table/layouts/TableLayoutControl.js.map +1 -1
- package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayout.js +3 -3
- package/dist/cjs/components/table/layouts/row-layout/RowLayout.js.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js +10 -12
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.js +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.js.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js +2 -2
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js +2 -2
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
- package/dist/cjs/components/table/table-actions/TableActions.js +3 -3
- package/dist/cjs/components/table/table-actions/TableActions.js.map +1 -1
- package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js +8 -9
- package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
- package/dist/cjs/components/table/table-column/TableSelectableColumn.js +4 -4
- package/dist/cjs/components/table/table-column/TableSelectableColumn.js.map +1 -1
- package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js +10 -11
- package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
- package/dist/cjs/components/table/table-consumer/TableConsumer.js.map +1 -1
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js +5 -5
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/table/table-filter/TableFilter.js +6 -6
- package/dist/cjs/components/table/table-filter/TableFilter.js.map +1 -1
- package/dist/cjs/components/table/table-footer/TableFooter.js +2 -2
- package/dist/cjs/components/table/table-footer/TableFooter.js.map +1 -1
- package/dist/cjs/components/table/table-header/TableHeader.js +6 -6
- package/dist/cjs/components/table/table-header/TableHeader.js.map +1 -1
- package/dist/cjs/components/table/table-header/Th.js +7 -7
- package/dist/cjs/components/table/table-header/Th.js.map +1 -1
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js +5 -5
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
- package/dist/cjs/components/table/table-loading/TableLoading.js.map +1 -1
- package/dist/cjs/components/table/table-pagination/TablePagination.js +9 -10
- package/dist/cjs/components/table/table-pagination/TablePagination.js.map +1 -1
- package/dist/cjs/components/table/table-pagination/TablePagination.types.js.map +1 -1
- package/dist/cjs/components/table/table-per-page/TablePerPage.js +3 -5
- package/dist/cjs/components/table/table-per-page/TablePerPage.js.map +1 -1
- package/dist/cjs/components/table/table-per-page/TablePerPage.types.js.map +1 -1
- package/dist/cjs/components/table/table-predicate/TablePredicate.js +6 -6
- package/dist/cjs/components/table/table-predicate/TablePredicate.js.map +1 -1
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useClickWithLoading.js +2 -2
- package/dist/cjs/hooks/useClickWithLoading.js.map +1 -1
- package/dist/cjs/hooks/useControlledList.js +3 -6
- package/dist/cjs/hooks/useControlledList.js.map +1 -1
- package/dist/cjs/hooks/useParentHeight.js.map +1 -1
- package/dist/cjs/hooks/useRowSelection.js +5 -6
- package/dist/cjs/hooks/useRowSelection.js.map +1 -1
- package/dist/cjs/index.js +6 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/theme/PlasmaColors.js.map +1 -1
- package/dist/cjs/theme/Plasmantine.js.map +1 -1
- package/dist/cjs/theme/Theme.js +48 -48
- package/dist/cjs/theme/Theme.js.map +1 -1
- package/dist/cjs/theme/index.js.map +1 -1
- package/dist/cjs/theme/mergeCSSVariablesResolvers.js.map +1 -1
- package/dist/cjs/theme/plasmaCSSVariablesResolver.js +2 -2
- package/dist/cjs/theme/plasmaCSSVariablesResolver.js.map +1 -1
- package/dist/cjs/types/css/index.d.js.map +1 -1
- package/dist/cjs/utils/createFactoryComponent.js.map +1 -1
- package/dist/cjs/utils/createPolymorphicComponent.js.map +1 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/overrideComponent.js.map +1 -1
- package/dist/cjs/vars/Notification.vars.js +3 -3
- package/dist/cjs/vars/Notification.vars.js.map +1 -1
- package/dist/cjs/vars/Text.vars.js +1 -1
- package/dist/cjs/vars/Text.vars.js.map +1 -1
- package/dist/esm/components/action-icon/ActionIcon.js.map +1 -1
- package/dist/esm/components/action-icon/index.js.map +1 -1
- package/dist/esm/components/blank-slate/BlankSlate.js.map +1 -1
- package/dist/esm/components/blank-slate/index.js.map +1 -1
- package/dist/esm/components/browser-preview/BrowserPreview.js.map +1 -1
- package/dist/esm/components/browser-preview/index.js.map +1 -1
- package/dist/esm/components/button/Button.js.map +1 -1
- package/dist/esm/components/button/ButtonWithDisabledTooltip.js.map +1 -1
- package/dist/esm/components/button/index.js.map +1 -1
- package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/esm/components/code-editor/index.js.map +1 -1
- package/dist/esm/components/code-editor/languages/xml.js.map +1 -1
- package/dist/esm/components/code-editor/search/Search.js.map +1 -1
- package/dist/esm/components/code-editor/search/index.js.map +1 -1
- package/dist/esm/components/collection/Collection.js.map +1 -1
- package/dist/esm/components/collection/CollectionContext.js.map +1 -1
- package/dist/esm/components/collection/CollectionItem.js.map +1 -1
- package/dist/esm/components/collection/enhanceWithCollectionProps.js.map +1 -1
- package/dist/esm/components/collection/index.js.map +1 -1
- package/dist/esm/components/copyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/esm/components/copyToClipboard/index.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
- package/dist/esm/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
- package/dist/esm/components/date-range-picker/index.js.map +1 -1
- package/dist/esm/components/header/Header.context.js.map +1 -1
- package/dist/esm/components/header/Header.js.map +1 -1
- package/dist/esm/components/header/HeaderActions/HeaderActions.js.map +1 -1
- package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
- package/dist/esm/components/header/HeaderDocAnchor/HeaderDocAnchor.js.map +1 -1
- package/dist/esm/components/header/index.js.map +1 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmContext.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
- package/dist/esm/components/inline-confirm/index.js.map +1 -1
- package/dist/esm/components/menu/Menu.js.map +1 -1
- package/dist/esm/components/menu/index.js.map +1 -1
- package/dist/esm/components/prompt/Prompt.js.map +1 -1
- package/dist/esm/components/prompt/PromptFooter.js.map +1 -1
- package/dist/esm/components/prompt/index.js.map +1 -1
- package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/esm/components/sticky-footer/index.js.map +1 -1
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/Table.types.js.map +1 -1
- package/dist/esm/components/table/TableContext.js.map +1 -1
- package/dist/esm/components/table/index.js.map +1 -1
- package/dist/esm/components/table/layouts/TableLayoutControl.js.map +1 -1
- package/dist/esm/components/table/layouts/TableLayouts.js.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayout.js.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.js.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
- package/dist/esm/components/table/table-actions/TableActions.js.map +1 -1
- package/dist/esm/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
- package/dist/esm/components/table/table-column/TableSelectableColumn.js.map +1 -1
- package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
- package/dist/esm/components/table/table-consumer/TableConsumer.js.map +1 -1
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
- package/dist/esm/components/table/table-filter/TableFilter.js.map +1 -1
- package/dist/esm/components/table/table-footer/TableFooter.js.map +1 -1
- package/dist/esm/components/table/table-header/TableHeader.js.map +1 -1
- package/dist/esm/components/table/table-header/Th.js.map +1 -1
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
- package/dist/esm/components/table/table-loading/TableLoading.js.map +1 -1
- package/dist/esm/components/table/table-pagination/TablePagination.js +1 -1
- package/dist/esm/components/table/table-pagination/TablePagination.js.map +1 -1
- package/dist/esm/components/table/table-pagination/TablePagination.types.js.map +1 -1
- package/dist/esm/components/table/table-per-page/TablePerPage.js.map +1 -1
- package/dist/esm/components/table/table-per-page/TablePerPage.types.js.map +1 -1
- package/dist/esm/components/table/table-predicate/TablePredicate.js.map +1 -1
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useClickWithLoading.js.map +1 -1
- package/dist/esm/hooks/useControlledList.js.map +1 -1
- package/dist/esm/hooks/useParentHeight.js.map +1 -1
- package/dist/esm/hooks/useRowSelection.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/theme/PlasmaColors.js.map +1 -1
- package/dist/esm/theme/Plasmantine.js.map +1 -1
- package/dist/esm/theme/Theme.js.map +1 -1
- package/dist/esm/theme/index.js.map +1 -1
- package/dist/esm/theme/mergeCSSVariablesResolvers.js.map +1 -1
- package/dist/esm/theme/plasmaCSSVariablesResolver.js.map +1 -1
- package/dist/esm/types/css/index.d.js.map +1 -1
- package/dist/esm/utils/createFactoryComponent.js.map +1 -1
- package/dist/esm/utils/createPolymorphicComponent.js.map +1 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/overrideComponent.js.map +1 -1
- package/dist/esm/vars/Notification.vars.js.map +1 -1
- package/dist/esm/vars/Text.vars.js.map +1 -1
- package/package.json +31 -31
- package/src/__tests__/VitestSetup.ts +1 -1
- package/src/components/table/__tests__/TablePagination.spec.tsx +22 -0
- package/src/components/table/table-pagination/TablePagination.tsx +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Factory, Loader, useProps, useStyles} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n defaultColumnSizing,\n getCoreRowModel,\n Row,\n TableState as TanstackTableState,\n useReactTable,\n} from '@tanstack/react-table';\nimport debounce from 'lodash.debounce';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, cloneElement, Dispatch, ForwardedRef, ReactElement, useCallback, useEffect, useState} from 'react';\n\nimport {useRowSelection} from '../../hooks/useRowSelection';\nimport {CustomComponentThemeExtend, identity} from '../../utils';\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActions, TableActionsStylesNames} from './table-actions/TableActions';\nimport {\n TableAccordionColumn,\n TableCollapsibleColumn,\n TableCollapsibleColumnStylesNames,\n} from './table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn';\nimport {TableColumnsSelector, TableColumnsSelectorStylesNames} from './table-columns-selector/TableColumnsSelector';\nimport {TableConsumer} from './table-consumer/TableConsumer';\nimport {TableDateRangePicker, TableDateRangePickerStylesNames} from './table-date-range-picker/TableDateRangePicker';\nimport {TableFilter, TableFilterStylesNames} from './table-filter/TableFilter';\nimport {TableFooter} from './table-footer/TableFooter';\nimport {TableHeader, TableHeaderStylesNames} from './table-header/TableHeader';\nimport {TableThStylesNames} from './table-header/Th';\nimport {TableLastUpdated, TableLastUpdatedStylesNames} from './table-last-updated/TableLastUpdated';\nimport {TableLoading} from './table-loading/TableLoading';\nimport {TablePagination} from './table-pagination/TablePagination';\nimport {TablePerPage} from './table-per-page/TablePerPage';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate';\nimport classes from './Table.module.css';\nimport {TableFormType, TableLayout, TableProps, TableState} from './Table.types';\nimport {TableContext, TableStylesProvider} from './TableContext';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableActionsStylesNames\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 Actions: typeof TableActions;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n DateRangePicker: typeof TableDateRangePicker;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n ColumnsSelector: typeof TableColumnsSelector;\n AccordionColumn: typeof TableAccordionColumn;\n Consumer: typeof TableConsumer;\n Loading: typeof TableLoading;\n Layouts: typeof TableLayouts;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n loading: false,\n multiRowSelectionEnabled: false,\n initialState: {},\n options: {},\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState,\n columns,\n layouts,\n onMount,\n onChange,\n children,\n loading,\n doubleClickAction,\n multiRowSelectionEnabled,\n disableRowSelection,\n onRowSelectionChange,\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 consumer = convertedChildren.find((child) => child.type === TableConsumer);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n\n const {predicates, dateRange, ...initialStateWithoutForm} = initialState;\n const form = useForm<TableFormType>({\n initialValues: {\n predicates: initialState?.predicates ?? {},\n dateRange: initialState?.dateRange ?? [null, null],\n layout: initialState?.layout ?? layouts[0].displayName,\n },\n });\n\n const table = useReactTable({\n initialState: defaultsDeep(initialStateWithoutForm, {\n pagination: {pageSize: TablePerPage.DEFAULT_SIZE},\n globalFilter: '',\n }),\n data,\n columns: multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getExpandChildren?.(row.original) ?? false,\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n ...options,\n });\n\n const getAllColumns = table.getAllFlatColumns;\n\n const [state, setState] = useState<TableState<T>>(table.initialState as TableState<T>);\n table.setOptions((prev) => ({\n ...prev,\n state: state as TanstackTableState,\n onStateChange: setState as Dispatch<React.SetStateAction<TanstackTableState>>,\n }));\n const {clearSelection, getSelectedRow, getSelectedRows, outsideClickRef} = useRowSelection(table, {\n multiRowSelectionEnabled,\n onRowSelectionChange,\n additionalRootNodes,\n });\n const containerRef = useMergedRef(outsideClickRef, ref);\n const isFiltered =\n !!state.globalFilter ||\n Object.keys(form.values?.predicates ?? {}).some((predicate) => !!form.values.predicates[predicate]) ||\n !!form.values.dateRange?.[0] ||\n !!form.values.dateRange?.[1];\n\n const triggerChange = debounce(() => onChange?.({...state, ...form.values}), 500);\n\n useEffect(() => {\n onMount?.({...state, ...form.values});\n return () => {\n triggerChange.cancel();\n };\n }, []);\n\n useDidUpdate(() => {\n triggerChange();\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n }, [\n state.globalFilter,\n state.pagination,\n state.sorting,\n JSON.stringify(form.values.dateRange),\n JSON.stringify(form.values.predicates),\n ]);\n\n const clearFilters = useCallback(() => {\n form.setFieldValue('predicates', initialState.predicates ?? {});\n setState((prevState) => ({...prevState, globalFilter: ''}));\n }, []);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout = layouts.find(({displayName}) => displayName === form.values.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={containerRef} {...others} {...getStyles('root')}>\n <TableStylesProvider value={{getStyles}}>\n <TableContext.Provider\n value={{\n onChange: triggerChange,\n state,\n isFiltered,\n setState,\n clearFilters,\n getSelectedRow,\n getSelectedRows,\n clearSelection,\n form,\n containerRef: outsideClickRef,\n multiRowSelectionEnabled,\n getPageCount: table.getPageCount,\n getAllColumns,\n disableRowSelection,\n layouts,\n }}\n >\n <Layout>\n {consumer}\n {!hasRows && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} pb=\"sm\">\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 table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading}>{noDataChildren}</TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated\n ? cloneElement(lastUpdated, {\n dependencies: [data, ...(lastUpdated.props.dependencies ?? [])],\n })\n : null}\n </>\n )}\n </Layout>\n </TableContext.Provider>\n </TableStylesProvider>\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.Actions = TableActions;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Pagination = TablePagination;\nTable.Predicate = TablePredicate;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.AccordionColumn = TableAccordionColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Consumer = TableConsumer;\nTable.Loading = TableLoading;\nTable.ColumnsSelector = TableColumnsSelector;\nTable.Layouts = TableLayouts;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Table","TableComponentsOrder","defaultProps","layouts","TableLayouts","Rows","loading","multiRowSelectionEnabled","initialState","options","props","form","useProps","data","getRowId","noDataChildren","getExpandChildren","columns","onMount","onChange","children","doubleClickAction","disableRowSelection","onRowSelectionChange","additionalRootNodes","ref","style","className","classNames","styles","unstyled","others","getStyles","useStyles","name","classes","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","consumer","TableConsumer","lastUpdated","TableLastUpdated","predicates","dateRange","initialStateWithoutForm","useForm","initialValues","layout","displayName","table","useReactTable","defaultsDeep","pagination","pageSize","TablePerPage","DEFAULT_SIZE","globalFilter","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","defaultColumn","size","minSize","defaultColumnSizing","maxSize","getAllColumns","getAllFlatColumns","useState","state","setState","setOptions","prev","onStateChange","useRowSelection","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","containerRef","useMergedRef","isFiltered","Object","keys","values","some","predicate","triggerChange","debounce","useEffect","cancel","useDidUpdate","sorting","JSON","stringify","clearFilters","useCallback","setFieldValue","prevState","Center","flexGrow","Loader","Layout","hasRows","getRowModel","rows","length","Box","TableStylesProvider","value","TableContext","Provider","getPageCount","component","pb","thead","tr","th","padding","colSpan","Header","tbody","Body","td","TableLoading","visible","cloneElement","dependencies","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","TableActions","TableFilter","Footer","LastUpdated","Pagination","TablePagination","TablePredicate","PerPage","CollapsibleColumn","TableCollapsibleColumn","AccordionColumn","TableAccordionColumn","TableDateRangePicker","Consumer","Loading","TableColumnsSelector","Layouts","extend","identity"],"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 {useForm} from '@mantine/form';\nimport {useDidUpdate, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n defaultColumnSizing,\n getCoreRowModel,\n Row,\n TableState as TanstackTableState,\n useReactTable,\n} from '@tanstack/react-table';\nimport debounce from 'lodash.debounce';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, cloneElement, Dispatch, ForwardedRef, ReactElement, useCallback, useEffect, useState} from 'react';\n\nimport {useRowSelection} from '../../hooks/useRowSelection';\nimport {CustomComponentThemeExtend, identity} from '../../utils';\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActions, TableActionsStylesNames} from './table-actions/TableActions';\nimport {\n TableAccordionColumn,\n TableCollapsibleColumn,\n TableCollapsibleColumnStylesNames,\n} from './table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn';\nimport {TableColumnsSelector, TableColumnsSelectorStylesNames} from './table-columns-selector/TableColumnsSelector';\nimport {TableConsumer} from './table-consumer/TableConsumer';\nimport {TableDateRangePicker, TableDateRangePickerStylesNames} from './table-date-range-picker/TableDateRangePicker';\nimport {TableFilter, TableFilterStylesNames} from './table-filter/TableFilter';\nimport {TableFooter} from './table-footer/TableFooter';\nimport {TableHeader, TableHeaderStylesNames} from './table-header/TableHeader';\nimport {TableThStylesNames} from './table-header/Th';\nimport {TableLastUpdated, TableLastUpdatedStylesNames} from './table-last-updated/TableLastUpdated';\nimport {TableLoading} from './table-loading/TableLoading';\nimport {TablePagination} from './table-pagination/TablePagination';\nimport {TablePerPage} from './table-per-page/TablePerPage';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate';\nimport classes from './Table.module.css';\nimport {TableFormType, TableLayout, TableProps, TableState} from './Table.types';\nimport {TableContext, TableStylesProvider} from './TableContext';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableActionsStylesNames\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 Actions: typeof TableActions;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n DateRangePicker: typeof TableDateRangePicker;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n ColumnsSelector: typeof TableColumnsSelector;\n AccordionColumn: typeof TableAccordionColumn;\n Consumer: typeof TableConsumer;\n Loading: typeof TableLoading;\n Layouts: typeof TableLayouts;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n loading: false,\n multiRowSelectionEnabled: false,\n initialState: {},\n options: {},\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState,\n columns,\n layouts,\n onMount,\n onChange,\n children,\n loading,\n doubleClickAction,\n multiRowSelectionEnabled,\n disableRowSelection,\n onRowSelectionChange,\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 consumer = convertedChildren.find((child) => child.type === TableConsumer);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n\n const {predicates, dateRange, ...initialStateWithoutForm} = initialState;\n const form = useForm<TableFormType>({\n initialValues: {\n predicates: initialState?.predicates ?? {},\n dateRange: initialState?.dateRange ?? [null, null],\n layout: initialState?.layout ?? layouts[0].displayName,\n },\n });\n\n const table = useReactTable({\n initialState: defaultsDeep(initialStateWithoutForm, {\n pagination: {pageSize: TablePerPage.DEFAULT_SIZE},\n globalFilter: '',\n }),\n data,\n columns: multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getExpandChildren?.(row.original) ?? false,\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n ...options,\n });\n\n const getAllColumns = table.getAllFlatColumns;\n\n const [state, setState] = useState<TableState<T>>(table.initialState as TableState<T>);\n table.setOptions((prev) => ({\n ...prev,\n state: state as TanstackTableState,\n onStateChange: setState as Dispatch<React.SetStateAction<TanstackTableState>>,\n }));\n const {clearSelection, getSelectedRow, getSelectedRows, outsideClickRef} = useRowSelection(table, {\n multiRowSelectionEnabled,\n onRowSelectionChange,\n additionalRootNodes,\n });\n const containerRef = useMergedRef(outsideClickRef, ref);\n const isFiltered =\n !!state.globalFilter ||\n Object.keys(form.values?.predicates ?? {}).some((predicate) => !!form.values.predicates[predicate]) ||\n !!form.values.dateRange?.[0] ||\n !!form.values.dateRange?.[1];\n\n const triggerChange = debounce(() => onChange?.({...state, ...form.values}), 500);\n\n useEffect(() => {\n onMount?.({...state, ...form.values});\n return () => {\n triggerChange.cancel();\n };\n }, []);\n\n useDidUpdate(() => {\n triggerChange();\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n }, [\n state.globalFilter,\n state.pagination,\n state.sorting,\n JSON.stringify(form.values.dateRange),\n JSON.stringify(form.values.predicates),\n ]);\n\n const clearFilters = useCallback(() => {\n form.setFieldValue('predicates', initialState.predicates ?? {});\n setState((prevState) => ({...prevState, globalFilter: ''}));\n }, []);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout = layouts.find(({displayName}) => displayName === form.values.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={containerRef} {...others} {...getStyles('root')}>\n <TableStylesProvider value={{getStyles}}>\n <TableContext.Provider\n value={{\n onChange: triggerChange,\n state,\n isFiltered,\n setState,\n clearFilters,\n getSelectedRow,\n getSelectedRows,\n clearSelection,\n form,\n containerRef: outsideClickRef,\n multiRowSelectionEnabled,\n getPageCount: table.getPageCount,\n getAllColumns,\n disableRowSelection,\n layouts,\n }}\n >\n <Layout>\n {consumer}\n {!hasRows && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} pb=\"sm\">\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 table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading}>{noDataChildren}</TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated\n ? cloneElement(lastUpdated, {\n dependencies: [data, ...(lastUpdated.props.dependencies ?? [])],\n })\n : null}\n </>\n )}\n </Layout>\n </TableContext.Provider>\n </TableStylesProvider>\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.Actions = TableActions;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Pagination = TablePagination;\nTable.Predicate = TablePredicate;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.AccordionColumn = TableAccordionColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Consumer = TableConsumer;\nTable.Loading = TableLoading;\nTable.ColumnsSelector = TableColumnsSelector;\nTable.Layouts = TableLayouts;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Table","TableComponentsOrder","defaultProps","layouts","TableLayouts","Rows","loading","multiRowSelectionEnabled","initialState","options","props","form","useProps","data","getRowId","noDataChildren","getExpandChildren","columns","onMount","onChange","children","doubleClickAction","disableRowSelection","onRowSelectionChange","additionalRootNodes","ref","style","className","classNames","styles","unstyled","others","getStyles","useStyles","name","classes","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","consumer","TableConsumer","lastUpdated","TableLastUpdated","predicates","dateRange","initialStateWithoutForm","useForm","initialValues","layout","displayName","table","useReactTable","defaultsDeep","pagination","pageSize","TablePerPage","DEFAULT_SIZE","globalFilter","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","defaultColumn","size","minSize","defaultColumnSizing","maxSize","getAllColumns","getAllFlatColumns","useState","state","setState","setOptions","prev","onStateChange","useRowSelection","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","containerRef","useMergedRef","isFiltered","Object","keys","values","some","predicate","triggerChange","debounce","useEffect","cancel","useDidUpdate","sorting","JSON","stringify","clearFilters","useCallback","setFieldValue","prevState","Center","flexGrow","Loader","Layout","hasRows","getRowModel","rows","length","Box","TableStylesProvider","value","TableContext","Provider","getPageCount","component","pb","thead","tr","th","padding","colSpan","Header","tbody","Body","td","TableLoading","visible","cloneElement","dependencies","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","TableActions","TableFilter","Footer","LastUpdated","Pagination","TablePagination","TablePredicate","PerPage","CollapsibleColumn","TableCollapsibleColumn","AccordionColumn","TableAccordionColumn","TableDateRangePicker","Consumer","Loading","TableColumnsSelector","Layouts","extend","identity"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/Table.types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/Table.types.ts"],"names":[],"rangeMappings":"","mappings":""}
|
|
@@ -12,12 +12,12 @@ _export(exports, {
|
|
|
12
12
|
TableContext: function() {
|
|
13
13
|
return TableContext;
|
|
14
14
|
},
|
|
15
|
-
useTable: function() {
|
|
16
|
-
return useTable;
|
|
17
|
-
},
|
|
18
15
|
TableStylesProvider: function() {
|
|
19
16
|
return TableStylesProvider;
|
|
20
17
|
},
|
|
18
|
+
useTable: function() {
|
|
19
|
+
return useTable;
|
|
20
|
+
},
|
|
21
21
|
useTableStyles: function() {
|
|
22
22
|
return useTableStyles;
|
|
23
23
|
}
|
|
@@ -29,11 +29,11 @@ var TableContext = /*#__PURE__*/ (0, _react.createContext)(null);
|
|
|
29
29
|
var useTable = function() {
|
|
30
30
|
var ctx = (0, _react.useContext)(TableContext);
|
|
31
31
|
if (ctx === null) {
|
|
32
|
-
throw new Error(
|
|
32
|
+
throw new Error('useTable must be used inside of a TableContext.Provider');
|
|
33
33
|
}
|
|
34
34
|
return ctx;
|
|
35
35
|
};
|
|
36
|
-
var _createSafeContext = _sliced_to_array._((0, _core.createSafeContext)(
|
|
36
|
+
var _createSafeContext = _sliced_to_array._((0, _core.createSafeContext)('Table component was not found in the tree'), 2);
|
|
37
37
|
var TableStylesProvider = _createSafeContext[0], useTableStyles = _createSafeContext[1];
|
|
38
38
|
|
|
39
39
|
//# sourceMappingURL=TableContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/TableContext.tsx"],"sourcesContent":["import {createSafeContext, GetStylesApi} from '@mantine/core';\nimport {createContext, useContext} from 'react';\nimport {type PlasmaTableFactory} from './Table';\nimport {TableContextType} from './Table.types';\n\nexport const TableContext = createContext<TableContextType<any> | null>(null);\n\nexport const useTable = <T,>(): TableContextType<T> => {\n const ctx = useContext(TableContext);\n if (ctx === null) {\n throw new Error('useTable must be used inside of a TableContext.Provider');\n }\n\n return ctx;\n};\n\ninterface TableStyleContextType {\n getStyles: GetStylesApi<PlasmaTableFactory>;\n}\n\nexport const [TableStylesProvider, useTableStyles] = createSafeContext<TableStyleContextType>(\n 'Table component was not found in the tree',\n);\n"],"names":["TableContext","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/TableContext.tsx"],"sourcesContent":["import {createSafeContext, GetStylesApi} from '@mantine/core';\nimport {createContext, useContext} from 'react';\nimport {type PlasmaTableFactory} from './Table';\nimport {TableContextType} from './Table.types';\n\nexport const TableContext = createContext<TableContextType<any> | null>(null);\n\nexport const useTable = <T,>(): TableContextType<T> => {\n const ctx = useContext(TableContext);\n if (ctx === null) {\n throw new Error('useTable must be used inside of a TableContext.Provider');\n }\n\n return ctx;\n};\n\ninterface TableStyleContextType {\n getStyles: GetStylesApi<PlasmaTableFactory>;\n}\n\nexport const [TableStylesProvider, useTableStyles] = createSafeContext<TableStyleContextType>(\n 'Table component was not found in the tree',\n);\n"],"names":["TableContext","TableStylesProvider","useTable","useTableStyles","createContext","ctx","useContext","Error","createSafeContext"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAKaA,YAAY;eAAZA;;IAeCC,mBAAmB;eAAnBA;;IAbDC,QAAQ;eAARA;;IAasBC,cAAc;eAAdA;;;;oBApBW;qBACN;AAIjC,IAAMH,6BAAeI,IAAAA,oBAAa,EAA+B;AAEjE,IAAMF,WAAW;IACpB,IAAMG,MAAMC,IAAAA,iBAAU,EAACN;IACvB,IAAIK,QAAQ,MAAM;QACd,MAAM,IAAIE,MAAM;IACpB;IAEA,OAAOF;AACX;IAMqDG,wCAAAA,IAAAA,uBAAiB,EAClE;AADG,IAAOP,sBAAuCO,uBAAlBL,iBAAkBK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export {flexRender as renderTableCell} from '@tanstack/react-table';\nexport * from './Table';\nexport {\n type InitialTableState,\n type TableLayout,\n type TableProps,\n type TableState,\n type onTableChangeEvent,\n} from './Table.types';\nexport {useTable} from './TableContext';\nexport {type TableLayoutProps} from './layouts/TableLayouts';\n"],"names":["renderTableCell","flexRender","useTable"],"mappings":";;;;;;;;;;;IAAsBA,eAAe;eAA7BC,sBAAU;;IASVC,QAAQ;eAARA,sBAAQ;;;;0BAT4B;uBAC9B;4BAQS"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export {flexRender as renderTableCell} from '@tanstack/react-table';\nexport * from './Table';\nexport {\n type InitialTableState,\n type TableLayout,\n type TableProps,\n type TableState,\n type onTableChangeEvent,\n} from './Table.types';\nexport {useTable} from './TableContext';\nexport {type TableLayoutProps} from './layouts/TableLayouts';\n"],"names":["renderTableCell","flexRender","useTable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAAsBA,eAAe;eAA7BC,sBAAU;;IASVC,QAAQ;eAARA,sBAAQ;;;;0BAT4B;uBAC9B;4BAQS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/table/layouts/TableLayoutControl.tsx"],"sourcesContent":["import {Box, Center, Grid, SegmentedControl, Space} from '@mantine/core';\nimport {TableComponentsOrder} from '../Table';\nimport {useTable} from '../TableContext';\n\nexport const TableLayoutControl = () => {\n const {form, layouts} = useTable();\n return layouts.length > 1 ? (\n <Grid.Col order={TableComponentsOrder.LayoutControl} span=\"content\">\n <SegmentedControl\n color=\"action\"\n data={layouts.map(({displayName, Icon}) => ({\n value: displayName,\n label: (\n <Center>\n {Icon ? (\n <>\n <Icon height={16} />\n <Space w=\"xs\" />\n </>\n ) : null}\n <Box>{displayName}</Box>\n </Center>\n ),\n }))}\n {...form.getInputProps('layout')}\n />\n </Grid.Col>\n ) : null;\n};\n"],"names":["TableLayoutControl","useTable","form","layouts","length","Grid","Col","order","TableComponentsOrder","LayoutControl","span","SegmentedControl","color","data","map","displayName","Icon","value","label","Center","height","Space","w","Box","getInputProps"],"mappings":";;;;+BAIaA;;;eAAAA;;;;;oBAJ4C;qBACtB;4BACZ;AAEhB,IAAMA,qBAAqB;IAC9B,IAAwBC,YAAAA,IAAAA,sBAAQ,KAAzBC,OAAiBD,UAAjBC,MAAMC,UAAWF,UAAXE;IACb,OAAOA,QAAQC,MAAM,GAAG,kBACpB,qBAACC,UAAI,CAACC,GAAG;QAACC,OAAOC,2BAAoB,CAACC,aAAa;QAAEC,MAAK;kBACtD,cAAA,qBAACC,sBAAgB;YACbC,OAAM;YACNC,MAAMV,QAAQW,GAAG,CAAC;oBAAEC,oBAAAA,aAAaC,aAAAA;uBAAW;oBACxCC,OAAOF;oBACPG,qBACI,sBAACC,YAAM;;4BACFH,qBACG;;kDACI,qBAACA;wCAAKI,QAAQ;;kDACd,qBAACC,WAAK;wCAACC,GAAE;;;iCAEb;0CACJ,qBAACC,SAAG;0CAAER;;;;gBAGlB;;WACIb,KAAKsB,aAAa,CAAC;SAG/B;AACR"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/table/layouts/TableLayoutControl.tsx"],"sourcesContent":["import {Box, Center, Grid, SegmentedControl, Space} from '@mantine/core';\nimport {TableComponentsOrder} from '../Table';\nimport {useTable} from '../TableContext';\n\nexport const TableLayoutControl = () => {\n const {form, layouts} = useTable();\n return layouts.length > 1 ? (\n <Grid.Col order={TableComponentsOrder.LayoutControl} span=\"content\">\n <SegmentedControl\n color=\"action\"\n data={layouts.map(({displayName, Icon}) => ({\n value: displayName,\n label: (\n <Center>\n {Icon ? (\n <>\n <Icon height={16} />\n <Space w=\"xs\" />\n </>\n ) : null}\n <Box>{displayName}</Box>\n </Center>\n ),\n }))}\n {...form.getInputProps('layout')}\n />\n </Grid.Col>\n ) : null;\n};\n"],"names":["TableLayoutControl","useTable","form","layouts","length","Grid","Col","order","TableComponentsOrder","LayoutControl","span","SegmentedControl","color","data","map","displayName","Icon","value","label","Center","height","Space","w","Box","getInputProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAIaA;;;eAAAA;;;;;oBAJ4C;qBACtB;4BACZ;AAEhB,IAAMA,qBAAqB;IAC9B,IAAwBC,YAAAA,IAAAA,sBAAQ,KAAzBC,OAAiBD,UAAjBC,MAAMC,UAAWF,UAAXE;IACb,OAAOA,QAAQC,MAAM,GAAG,kBACpB,qBAACC,UAAI,CAACC,GAAG;QAACC,OAAOC,2BAAoB,CAACC,aAAa;QAAEC,MAAK;kBACtD,cAAA,qBAACC,sBAAgB;YACbC,OAAM;YACNC,MAAMV,QAAQW,GAAG,CAAC;oBAAEC,oBAAAA,aAAaC,aAAAA;uBAAW;oBACxCC,OAAOF;oBACPG,qBACI,sBAACC,YAAM;;4BACFH,qBACG;;kDACI,qBAACA;wCAAKI,QAAQ;;kDACd,qBAACC,WAAK;wCAACC,GAAE;;;iCAEb;0CACJ,qBAACC,SAAG;0CAAER;;;;gBAGlB;;WACIb,KAAKsB,aAAa,CAAC;SAG/B;AACR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/table/layouts/TableLayouts.tsx"],"sourcesContent":["import {Table} from '@tanstack/table-core';\nimport {ReactNode} from 'react';\nimport {RowLayout} from './row-layout/RowLayout';\n\nexport interface TableLayoutProps<T = unknown> {\n table: Table<T>;\n loading?: boolean;\n /**\n * Action passed when user double-clicks on a row\n */\n doubleClickAction?: (datum: T) => void;\n /**\n * Function that generates the expandable content of a row\n * Return null for rows that don't need to be expandable\n *\n * @param datum the row for which the children should be generated.\n */\n getExpandChildren?: (datum: T) => ReactNode;\n /**\n * Whether clicking on a selected row will deselect the row or not.\n */\n keepSelection?: boolean;\n}\n\nexport const TableLayouts = {\n Rows: RowLayout,\n};\n"],"names":["TableLayouts","Rows","RowLayout"],"mappings":";;;;+BAwBaA;;;eAAAA;;;yBAtBW;AAsBjB,IAAMA,eAAe;IACxBC,MAAMC,oBAAS;AACnB"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/table/layouts/TableLayouts.tsx"],"sourcesContent":["import {Table} from '@tanstack/table-core';\nimport {ReactNode} from 'react';\nimport {RowLayout} from './row-layout/RowLayout';\n\nexport interface TableLayoutProps<T = unknown> {\n table: Table<T>;\n loading?: boolean;\n /**\n * Action passed when user double-clicks on a row\n */\n doubleClickAction?: (datum: T) => void;\n /**\n * Function that generates the expandable content of a row\n * Return null for rows that don't need to be expandable\n *\n * @param datum the row for which the children should be generated.\n */\n getExpandChildren?: (datum: T) => ReactNode;\n /**\n * Whether clicking on a selected row will deselect the row or not.\n */\n keepSelection?: boolean;\n}\n\nexport const TableLayouts = {\n Rows: RowLayout,\n};\n"],"names":["TableLayouts","Rows","RowLayout"],"rangeMappings":";;;;;;;;;;;;;","mappings":";;;;+BAwBaA;;;eAAAA;;;yBAtBW;AAsBjB,IAAMA,eAAe;IACxBC,MAAMC,oBAAS;AACnB"}
|
|
@@ -18,9 +18,9 @@ var _RowLayoutHeader = require("./RowLayoutHeader");
|
|
|
18
18
|
var _RowLayoutIcon = require("./RowLayoutIcon");
|
|
19
19
|
var defaultProps = {};
|
|
20
20
|
var RowLayout = (0, _core.factory)(function(props, ref) {
|
|
21
|
-
var _useProps = (0, _core.useProps)(
|
|
21
|
+
var _useProps = (0, _core.useProps)('PlasmaRowLayout', defaultProps, props), children = _useProps.children, styles = _useProps.styles, classNames = _useProps.classNames, unstyled = _useProps.unstyled;
|
|
22
22
|
var getStyles = (0, _core.useStyles)({
|
|
23
|
-
name:
|
|
23
|
+
name: 'PlasmaRowLayout',
|
|
24
24
|
classes: _RowLayoutmodulecss.default,
|
|
25
25
|
props: props,
|
|
26
26
|
styles: styles,
|
|
@@ -37,6 +37,6 @@ var RowLayout = (0, _core.factory)(function(props, ref) {
|
|
|
37
37
|
RowLayout.Body = _RowLayoutBody.RowLayoutBody;
|
|
38
38
|
RowLayout.Header = _RowLayoutHeader.RowLayoutHeader;
|
|
39
39
|
RowLayout.Icon = _RowLayoutIcon.RowLayoutIcon;
|
|
40
|
-
RowLayout.displayName =
|
|
40
|
+
RowLayout.displayName = 'Rows';
|
|
41
41
|
|
|
42
42
|
//# sourceMappingURL=RowLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"sourcesContent":["import {factory, Factory, StylesApiProps, useProps, useStyles} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport classes from './RowLayout.module.css';\nimport {TableLayout} from '../../Table.types';\nimport {RowLayoutBody, RowLayoutBodyStylesNames} from './RowLayoutBody';\nimport {RowLayoutProvider} from './RowLayoutContext';\nimport {RowLayoutHeader, RowLayoutHeaderStyleNames} from './RowLayoutHeader';\nimport {RowLayoutIcon, RowLayoutIconStylesNames} from './RowLayoutIcon';\n\ntype RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutIconStylesNames | RowLayoutBodyStylesNames;\nexport interface RowLayoutProps extends StylesApiProps<RowLayoutFactory> {\n children: ReactNode;\n}\n\nexport type RowLayoutFactory = Factory<{\n props: RowLayoutProps;\n stylesNames: RowLayoutStylesNames;\n staticComponents: TableLayout;\n}>;\nconst defaultProps: Partial<RowLayoutProps> = {};\n\nexport const RowLayout = factory<RowLayoutFactory>((props, ref) => {\n const {children, styles, classNames, unstyled} = useProps('PlasmaRowLayout', defaultProps, props);\n const getStyles = useStyles<RowLayoutFactory>({\n name: 'PlasmaRowLayout',\n classes,\n props,\n styles,\n classNames,\n unstyled,\n });\n\n return <RowLayoutProvider value={{getStyles}}>{children}</RowLayoutProvider>;\n});\n\nRowLayout.Body = RowLayoutBody;\nRowLayout.Header = RowLayoutHeader;\nRowLayout.Icon = RowLayoutIcon;\nRowLayout.displayName = 'Rows';\n"],"names":["RowLayout","defaultProps","factory","props","ref","useProps","children","styles","classNames","unstyled","getStyles","useStyles","name","classes","RowLayoutProvider","value","Body","RowLayoutBody","Header","RowLayoutHeader","Icon","RowLayoutIcon","displayName"],"mappings":";;;;+BAqBaA;;;eAAAA;;;;;oBArBuD;2EAEhD;6BAEkC;gCACtB;+BACyB;6BACH;AAYtD,IAAMC,eAAwC,CAAC;AAExC,IAAMD,YAAYE,IAAAA,aAAO,EAAmB,SAACC,OAAOC;IACvD,IAAiDC,YAAAA,IAAAA,cAAQ,EAAC,mBAAmBJ,cAAcE,QAApFG,WAA0CD,UAA1CC,UAAUC,SAAgCF,UAAhCE,QAAQC,aAAwBH,UAAxBG,YAAYC,WAAYJ,UAAZI;IACrC,IAAMC,YAAYC,IAAAA,eAAS,EAAmB;QAC1CC,MAAM;QACNC,SAAAA,2BAAO;QACPV,OAAAA;QACAI,QAAAA;QACAC,YAAAA;QACAC,UAAAA;IACJ;IAEA,qBAAO,qBAACK,mCAAiB;QAACC,OAAO;YAACL,WAAAA;QAAS;kBAAIJ;;AACnD;AAEAN,UAAUgB,IAAI,GAAGC,4BAAa;AAC9BjB,UAAUkB,MAAM,GAAGC,gCAAe;AAClCnB,UAAUoB,IAAI,GAAGC,4BAAa;AAC9BrB,UAAUsB,WAAW,GAAG"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"sourcesContent":["import {factory, Factory, StylesApiProps, useProps, useStyles} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport classes from './RowLayout.module.css';\nimport {TableLayout} from '../../Table.types';\nimport {RowLayoutBody, RowLayoutBodyStylesNames} from './RowLayoutBody';\nimport {RowLayoutProvider} from './RowLayoutContext';\nimport {RowLayoutHeader, RowLayoutHeaderStyleNames} from './RowLayoutHeader';\nimport {RowLayoutIcon, RowLayoutIconStylesNames} from './RowLayoutIcon';\n\ntype RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutIconStylesNames | RowLayoutBodyStylesNames;\nexport interface RowLayoutProps extends StylesApiProps<RowLayoutFactory> {\n children: ReactNode;\n}\n\nexport type RowLayoutFactory = Factory<{\n props: RowLayoutProps;\n stylesNames: RowLayoutStylesNames;\n staticComponents: TableLayout;\n}>;\nconst defaultProps: Partial<RowLayoutProps> = {};\n\nexport const RowLayout = factory<RowLayoutFactory>((props, ref) => {\n const {children, styles, classNames, unstyled} = useProps('PlasmaRowLayout', defaultProps, props);\n const getStyles = useStyles<RowLayoutFactory>({\n name: 'PlasmaRowLayout',\n classes,\n props,\n styles,\n classNames,\n unstyled,\n });\n\n return <RowLayoutProvider value={{getStyles}}>{children}</RowLayoutProvider>;\n});\n\nRowLayout.Body = RowLayoutBody;\nRowLayout.Header = RowLayoutHeader;\nRowLayout.Icon = RowLayoutIcon;\nRowLayout.displayName = 'Rows';\n"],"names":["RowLayout","defaultProps","factory","props","ref","useProps","children","styles","classNames","unstyled","getStyles","useStyles","name","classes","RowLayoutProvider","value","Body","RowLayoutBody","Header","RowLayoutHeader","Icon","RowLayoutIcon","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAqBaA;;;eAAAA;;;;;oBArBuD;2EAEhD;6BAEkC;gCACtB;+BACyB;6BACH;AAYtD,IAAMC,eAAwC,CAAC;AAExC,IAAMD,YAAYE,IAAAA,aAAO,EAAmB,SAACC,OAAOC;IACvD,IAAiDC,YAAAA,IAAAA,cAAQ,EAAC,mBAAmBJ,cAAcE,QAApFG,WAA0CD,UAA1CC,UAAUC,SAAgCF,UAAhCE,QAAQC,aAAwBH,UAAxBG,YAAYC,WAAYJ,UAAZI;IACrC,IAAMC,YAAYC,IAAAA,eAAS,EAAmB;QAC1CC,MAAM;QACNC,SAAAA,2BAAO;QACPV,OAAAA;QACAI,QAAAA;QACAC,YAAAA;QACAC,UAAAA;IACJ;IAEA,qBAAO,qBAACK,mCAAiB;QAACC,OAAO;YAACL,WAAAA;QAAS;kBAAIJ;;AACnD;AAEAN,UAAUgB,IAAI,GAAGC,4BAAa;AAC9BjB,UAAUkB,MAAM,GAAGC,gCAAe;AAClCnB,UAAUoB,IAAI,GAAGC,4BAAa;AAC9BrB,UAAUsB,WAAW,GAAG"}
|
|
@@ -26,7 +26,7 @@ var defaultProps = {};
|
|
|
26
26
|
var RowLayoutBody = function(props) {
|
|
27
27
|
var _table_getRowModel;
|
|
28
28
|
var ctx = (0, _RowLayoutContext.useRowLayout)();
|
|
29
|
-
var _useProps = (0, _core.useProps)(
|
|
29
|
+
var _useProps = (0, _core.useProps)('RowLayoutBody', defaultProps, props), table = _useProps.table, doubleClickAction = _useProps.doubleClickAction, getExpandChildren = _useProps.getExpandChildren, loading = _useProps.loading, keepSelection = _useProps.keepSelection, classNames = _useProps.classNames, className = _useProps.className, styles = _useProps.styles, style = _useProps.style, others = _object_without_properties._(_useProps, [
|
|
30
30
|
"table",
|
|
31
31
|
"doubleClickAction",
|
|
32
32
|
"getExpandChildren",
|
|
@@ -40,12 +40,11 @@ var RowLayoutBody = function(props) {
|
|
|
40
40
|
var _useTable = (0, _TableContext.useTable)(), multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled, disableRowSelection = _useTable.disableRowSelection;
|
|
41
41
|
var toggleCollapsible = function(el) {
|
|
42
42
|
var cell = el.children[el.children.length - 1];
|
|
43
|
-
cell.querySelector(
|
|
43
|
+
cell.querySelector('button').click();
|
|
44
44
|
};
|
|
45
45
|
var rows = (_table_getRowModel = table.getRowModel()) === null || _table_getRowModel === void 0 ? void 0 : _table_getRowModel.rows.map(function(row) {
|
|
46
46
|
var _getExpandChildren;
|
|
47
|
-
var
|
|
48
|
-
var rowChildren = (_getExpandChildren1 = (_getExpandChildren = getExpandChildren) === null || _getExpandChildren === void 0 ? void 0 : _getExpandChildren(row.original)) !== null && _getExpandChildren1 !== void 0 ? _getExpandChildren1 : null;
|
|
47
|
+
var rowChildren = (_getExpandChildren = getExpandChildren === null || getExpandChildren === void 0 ? void 0 : getExpandChildren(row.original)) !== null && _getExpandChildren !== void 0 ? _getExpandChildren : null;
|
|
49
48
|
var isSelected = !!row.getIsSelected();
|
|
50
49
|
var shouldKeepSelection = keepSelection && isSelected;
|
|
51
50
|
var onClick = function(event) {
|
|
@@ -61,15 +60,14 @@ var RowLayoutBody = function(props) {
|
|
|
61
60
|
/*#__PURE__*/ (0, _jsxruntime.jsx)("tr", _object_spread_props._(_object_spread._({
|
|
62
61
|
onClick: onClick,
|
|
63
62
|
onDoubleClick: function() {
|
|
64
|
-
|
|
65
|
-
return (_doubleClickAction = doubleClickAction) === null || _doubleClickAction === void 0 ? void 0 : _doubleClickAction(row.original);
|
|
63
|
+
return doubleClickAction === null || doubleClickAction === void 0 ? void 0 : doubleClickAction(row.original);
|
|
66
64
|
},
|
|
67
65
|
"data-selectable": !disableRowSelection,
|
|
68
66
|
"data-selected": isSelected,
|
|
69
67
|
"data-multi-selection": multiRowSelectionEnabled,
|
|
70
68
|
"aria-selected": isSelected,
|
|
71
69
|
"data-testid": row.id
|
|
72
|
-
}, ctx.getStyles(
|
|
70
|
+
}, ctx.getStyles('row', {
|
|
73
71
|
classNames: classNames,
|
|
74
72
|
className: className,
|
|
75
73
|
styles: styles,
|
|
@@ -90,15 +88,15 @@ var RowLayoutBody = function(props) {
|
|
|
90
88
|
var _ref;
|
|
91
89
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)("td", {
|
|
92
90
|
"data-testid": cell.id,
|
|
93
|
-
className: ctx.getStyles(
|
|
91
|
+
className: ctx.getStyles('cell', {
|
|
94
92
|
classNames: classNames,
|
|
95
93
|
styles: styles
|
|
96
94
|
}).className,
|
|
97
95
|
style: _object_spread._({
|
|
98
|
-
width: (_ref = "".concat(columnSizing.size, "px")) !== null && _ref !== void 0 ? _ref :
|
|
96
|
+
width: (_ref = "".concat(columnSizing.size, "px")) !== null && _ref !== void 0 ? _ref : 'auto',
|
|
99
97
|
minWidth: "".concat(columnSizing.minSize, "px"),
|
|
100
98
|
maxWidth: "".concat(columnSizing.maxSize, "px")
|
|
101
|
-
}, ctx.getStyles(
|
|
99
|
+
}, ctx.getStyles('cell', {
|
|
102
100
|
classNames: classNames,
|
|
103
101
|
styles: styles
|
|
104
102
|
}).style),
|
|
@@ -111,7 +109,7 @@ var RowLayoutBody = function(props) {
|
|
|
111
109
|
}, cell.id);
|
|
112
110
|
})
|
|
113
111
|
})),
|
|
114
|
-
rowChildren ? /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", _object_spread_props._(_object_spread._({}, ctx.getStyles(
|
|
112
|
+
rowChildren ? /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", _object_spread_props._(_object_spread._({}, ctx.getStyles('collapsibleRow', {
|
|
115
113
|
classNames: classNames,
|
|
116
114
|
styles: styles
|
|
117
115
|
})), {
|
|
@@ -122,7 +120,7 @@ var RowLayoutBody = function(props) {
|
|
|
122
120
|
},
|
|
123
121
|
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Collapse, {
|
|
124
122
|
in: row.getIsExpanded(),
|
|
125
|
-
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, _object_spread_props._(_object_spread._({}, ctx.getStyles(
|
|
123
|
+
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, _object_spread_props._(_object_spread._({}, ctx.getStyles('collapsibleWrapper', {
|
|
126
124
|
classNames: classNames,
|
|
127
125
|
styles: styles
|
|
128
126
|
})), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutBody.tsx"],"sourcesContent":["import {Box, BoxProps, Collapse, Factory, useProps} from '@mantine/core';\nimport {CompoundStylesApiProps} from '@mantine/core/lib/core/styles-api/styles-api.types';\nimport {flexRender} from '@tanstack/react-table';\nimport {defaultColumnSizing} from '@tanstack/table-core';\nimport {ForwardedRef, Fragment, type MouseEvent} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../../utils';\nimport {TableCollapsibleColumn} from '../../table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from '../../table-column/TableSelectableColumn';\nimport {TableLoading} from '../../table-loading/TableLoading';\nimport {useTable} from '../../TableContext';\nimport {TableLayoutProps} from '../TableLayouts';\nimport {useRowLayout} from './RowLayoutContext';\n\nexport type RowLayoutBodyStylesNames = 'row' | 'cell' | 'collapsibleRow' | 'collapsibleWrapper';\n\nexport interface RowLayoutBodyProps<T>\n extends BoxProps,\n TableLayoutProps<T>,\n CompoundStylesApiProps<RowLayoutBodyFactory> {}\n\nexport type RowLayoutBodyFactory = Factory<{\n props: RowLayoutBodyProps<unknown>;\n ref: HTMLTableRowElement;\n stylesNames: RowLayoutBodyStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutBodyProps<unknown>> = {};\n\nexport const RowLayoutBody = <T,>(props: RowLayoutBodyProps<T> & {ref?: ForwardedRef<HTMLTableRowElement>}) => {\n const ctx = useRowLayout();\n const {\n table,\n doubleClickAction,\n getExpandChildren,\n loading,\n keepSelection,\n classNames,\n className,\n styles,\n style,\n ...others\n } = useProps('RowLayoutBody', defaultProps as RowLayoutBodyProps<T>, props);\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const toggleCollapsible = (el: HTMLTableRowElement) => {\n const cell = el.children[el.children.length - 1] as HTMLTableCellElement;\n cell.querySelector('button').click();\n };\n\n const rows = table.getRowModel()?.rows.map((row) => {\n const rowChildren = getExpandChildren?.(row.original) ?? null;\n const isSelected = !!row.getIsSelected();\n const shouldKeepSelection = keepSelection && isSelected;\n const onClick = (event: MouseEvent<HTMLTableRowElement>) => {\n if (rowChildren) {\n toggleCollapsible(event.currentTarget);\n }\n if (!disableRowSelection && !multiRowSelectionEnabled && !shouldKeepSelection) {\n row.toggleSelected();\n }\n };\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={onClick}\n onDoubleClick={() => doubleClickAction?.(row.original)}\n data-selectable={!disableRowSelection}\n data-selected={isSelected}\n data-multi-selection={multiRowSelectionEnabled}\n aria-selected={isSelected}\n data-testid={row.id}\n {...ctx.getStyles('row', {classNames, className, styles, style})}\n {...others}\n >\n {row.getVisibleCells().map((cell) => {\n const columnSizing = {\n ...defaultColumnSizing,\n size: cell.column.columnDef.size,\n minSize: cell.column.columnDef.minSize,\n maxSize: cell.column.columnDef.maxSize,\n };\n\n const onCollapsibleCellClick = (event: MouseEvent<HTMLTableCellElement>) => {\n if (cell.column.id === TableSelectableColumn.id && !disableRowSelection) {\n event.stopPropagation();\n row.getToggleSelectedHandler();\n }\n };\n\n return (\n <td\n key={cell.id}\n data-testid={cell.id}\n className={ctx.getStyles('cell', {classNames, styles}).className}\n style={{\n width: `${columnSizing.size}px` ?? 'auto',\n minWidth: `${columnSizing.minSize}px`,\n maxWidth: `${columnSizing.maxSize}px`,\n ...ctx.getStyles('cell', {classNames, styles}).style,\n }}\n data-collapsible-cell={cell.column.id === TableCollapsibleColumn.id}\n onClick={onCollapsibleCellClick}\n >\n <TableLoading visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableLoading>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr {...ctx.getStyles('collapsibleRow', {classNames, styles})}>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box {...ctx.getStyles('collapsibleWrapper', {classNames, styles})} px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return <>{rows}</>;\n};\n\nRowLayoutBody.extend = identity as CustomComponentThemeExtend<RowLayoutBodyFactory>;\n"],"names":["RowLayoutBody","defaultProps","props","table","ctx","useRowLayout","useProps","doubleClickAction","getExpandChildren","loading","keepSelection","classNames","className","styles","style","others","useTable","multiRowSelectionEnabled","disableRowSelection","toggleCollapsible","el","cell","children","length","querySelector","click","rows","getRowModel","map","row","rowChildren","original","isSelected","getIsSelected","shouldKeepSelection","onClick","event","currentTarget","toggleSelected","Fragment","tr","onDoubleClick","data-selectable","data-selected","data-multi-selection","aria-selected","data-testid","id","getStyles","getVisibleCells","columnSizing","defaultColumnSizing","size","column","columnDef","minSize","maxSize","onCollapsibleCellClick","TableSelectableColumn","stopPropagation","getToggleSelectedHandler","td","width","minWidth","maxWidth","data-collapsible-cell","TableCollapsibleColumn","TableLoading","visible","flexRender","getContext","colSpan","getAllColumns","padding","Collapse","in","getIsExpanded","Box","px","py","extend","identity"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutBody.tsx"],"sourcesContent":["import {Box, BoxProps, Collapse, Factory, useProps} from '@mantine/core';\nimport {CompoundStylesApiProps} from '@mantine/core/lib/core/styles-api/styles-api.types';\nimport {flexRender} from '@tanstack/react-table';\nimport {defaultColumnSizing} from '@tanstack/table-core';\nimport {ForwardedRef, Fragment, type MouseEvent} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../../utils';\nimport {TableCollapsibleColumn} from '../../table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from '../../table-column/TableSelectableColumn';\nimport {TableLoading} from '../../table-loading/TableLoading';\nimport {useTable} from '../../TableContext';\nimport {TableLayoutProps} from '../TableLayouts';\nimport {useRowLayout} from './RowLayoutContext';\n\nexport type RowLayoutBodyStylesNames = 'row' | 'cell' | 'collapsibleRow' | 'collapsibleWrapper';\n\nexport interface RowLayoutBodyProps<T>\n extends BoxProps,\n TableLayoutProps<T>,\n CompoundStylesApiProps<RowLayoutBodyFactory> {}\n\nexport type RowLayoutBodyFactory = Factory<{\n props: RowLayoutBodyProps<unknown>;\n ref: HTMLTableRowElement;\n stylesNames: RowLayoutBodyStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutBodyProps<unknown>> = {};\n\nexport const RowLayoutBody = <T,>(props: RowLayoutBodyProps<T> & {ref?: ForwardedRef<HTMLTableRowElement>}) => {\n const ctx = useRowLayout();\n const {\n table,\n doubleClickAction,\n getExpandChildren,\n loading,\n keepSelection,\n classNames,\n className,\n styles,\n style,\n ...others\n } = useProps('RowLayoutBody', defaultProps as RowLayoutBodyProps<T>, props);\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const toggleCollapsible = (el: HTMLTableRowElement) => {\n const cell = el.children[el.children.length - 1] as HTMLTableCellElement;\n cell.querySelector('button').click();\n };\n\n const rows = table.getRowModel()?.rows.map((row) => {\n const rowChildren = getExpandChildren?.(row.original) ?? null;\n const isSelected = !!row.getIsSelected();\n const shouldKeepSelection = keepSelection && isSelected;\n const onClick = (event: MouseEvent<HTMLTableRowElement>) => {\n if (rowChildren) {\n toggleCollapsible(event.currentTarget);\n }\n if (!disableRowSelection && !multiRowSelectionEnabled && !shouldKeepSelection) {\n row.toggleSelected();\n }\n };\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={onClick}\n onDoubleClick={() => doubleClickAction?.(row.original)}\n data-selectable={!disableRowSelection}\n data-selected={isSelected}\n data-multi-selection={multiRowSelectionEnabled}\n aria-selected={isSelected}\n data-testid={row.id}\n {...ctx.getStyles('row', {classNames, className, styles, style})}\n {...others}\n >\n {row.getVisibleCells().map((cell) => {\n const columnSizing = {\n ...defaultColumnSizing,\n size: cell.column.columnDef.size,\n minSize: cell.column.columnDef.minSize,\n maxSize: cell.column.columnDef.maxSize,\n };\n\n const onCollapsibleCellClick = (event: MouseEvent<HTMLTableCellElement>) => {\n if (cell.column.id === TableSelectableColumn.id && !disableRowSelection) {\n event.stopPropagation();\n row.getToggleSelectedHandler();\n }\n };\n\n return (\n <td\n key={cell.id}\n data-testid={cell.id}\n className={ctx.getStyles('cell', {classNames, styles}).className}\n style={{\n width: `${columnSizing.size}px` ?? 'auto',\n minWidth: `${columnSizing.minSize}px`,\n maxWidth: `${columnSizing.maxSize}px`,\n ...ctx.getStyles('cell', {classNames, styles}).style,\n }}\n data-collapsible-cell={cell.column.id === TableCollapsibleColumn.id}\n onClick={onCollapsibleCellClick}\n >\n <TableLoading visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableLoading>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr {...ctx.getStyles('collapsibleRow', {classNames, styles})}>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box {...ctx.getStyles('collapsibleWrapper', {classNames, styles})} px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return <>{rows}</>;\n};\n\nRowLayoutBody.extend = identity as CustomComponentThemeExtend<RowLayoutBodyFactory>;\n"],"names":["RowLayoutBody","defaultProps","props","table","ctx","useRowLayout","useProps","doubleClickAction","getExpandChildren","loading","keepSelection","classNames","className","styles","style","others","useTable","multiRowSelectionEnabled","disableRowSelection","toggleCollapsible","el","cell","children","length","querySelector","click","rows","getRowModel","map","row","rowChildren","original","isSelected","getIsSelected","shouldKeepSelection","onClick","event","currentTarget","toggleSelected","Fragment","tr","onDoubleClick","data-selectable","data-selected","data-multi-selection","aria-selected","data-testid","id","getStyles","getVisibleCells","columnSizing","defaultColumnSizing","size","column","columnDef","minSize","maxSize","onCollapsibleCellClick","TableSelectableColumn","stopPropagation","getToggleSelectedHandler","td","width","minWidth","maxWidth","data-collapsible-cell","TableCollapsibleColumn","TableLoading","visible","flexRender","getContext","colSpan","getAllColumns","padding","Collapse","in","getIsExpanded","Box","px","py","extend","identity"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -18,7 +18,7 @@ _export(exports, {
|
|
|
18
18
|
});
|
|
19
19
|
var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
|
|
20
20
|
var _core = require("@mantine/core");
|
|
21
|
-
var _createSafeContext = _sliced_to_array._((0, _core.createSafeContext)(
|
|
21
|
+
var _createSafeContext = _sliced_to_array._((0, _core.createSafeContext)('RowLayout was not found in the component tree'), 2);
|
|
22
22
|
var RowLayoutProvider = _createSafeContext[0], useRowLayout = _createSafeContext[1];
|
|
23
23
|
|
|
24
24
|
//# sourceMappingURL=RowLayoutContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutContext.tsx"],"sourcesContent":["import {createSafeContext, GetStylesApi} from '@mantine/core';\nimport {type RowLayoutFactory} from './RowLayout';\n\ninterface RowLayoutContextType {\n getStyles: GetStylesApi<RowLayoutFactory>;\n}\nexport const [RowLayoutProvider, useRowLayout] = createSafeContext<RowLayoutContextType>(\n 'RowLayout was not found in the component tree',\n);\n"],"names":["RowLayoutProvider","useRowLayout","createSafeContext"],"mappings":";;;;;;;;;;;IAMcA,iBAAiB;eAAjBA;;IAAmBC,YAAY;eAAZA;;;;oBANa;IAMGC,wCAAAA,IAAAA,uBAAiB,EAC9D;AADG,IAAOF,oBAAmCE,uBAAhBD,eAAgBC"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutContext.tsx"],"sourcesContent":["import {createSafeContext, GetStylesApi} from '@mantine/core';\nimport {type RowLayoutFactory} from './RowLayout';\n\ninterface RowLayoutContextType {\n getStyles: GetStylesApi<RowLayoutFactory>;\n}\nexport const [RowLayoutProvider, useRowLayout] = createSafeContext<RowLayoutContextType>(\n 'RowLayout was not found in the component tree',\n);\n"],"names":["RowLayoutProvider","useRowLayout","createSafeContext"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAMcA,iBAAiB;eAAjBA;;IAAmBC,YAAY;eAAZA;;;;oBANa;IAMGC,wCAAAA,IAAAA,uBAAiB,EAC9D;AADG,IAAOF,oBAAmCE,uBAAhBD,eAAgBC"}
|
|
@@ -20,7 +20,7 @@ var _RowLayoutContext = require("./RowLayoutContext");
|
|
|
20
20
|
var defaultProps = {};
|
|
21
21
|
var RowLayoutHeader = function(props) {
|
|
22
22
|
var ctx = (0, _RowLayoutContext.useRowLayout)();
|
|
23
|
-
var _useProps = (0, _core.useProps)(
|
|
23
|
+
var _useProps = (0, _core.useProps)('RowLayoutHeader', defaultProps, props), table = _useProps.table, getExpandChildren = _useProps.getExpandChildren, loading = _useProps.loading, doubleClickAction = _useProps.doubleClickAction, className = _useProps.className, style = _useProps.style, classNames = _useProps.classNames, styles = _useProps.styles, others = _object_without_properties._(_useProps, [
|
|
24
24
|
"table",
|
|
25
25
|
"getExpandChildren",
|
|
26
26
|
"loading",
|
|
@@ -35,7 +35,7 @@ var RowLayoutHeader = function(props) {
|
|
|
35
35
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", _object_spread_props._(_object_spread._({
|
|
36
36
|
"data-selectable": !disableRowSelection,
|
|
37
37
|
"data-multi-selection": multiRowSelectionEnabled
|
|
38
|
-
}, ctx.getStyles(
|
|
38
|
+
}, ctx.getStyles('headerRow', {
|
|
39
39
|
className: className,
|
|
40
40
|
classNames: classNames,
|
|
41
41
|
styles: styles,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutHeader.tsx"],"sourcesContent":["import {BoxProps, Factory, useProps} from '@mantine/core';\nimport {CompoundStylesApiProps} from '@mantine/core/lib/core/styles-api/styles-api.types';\nimport {ForwardedRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../../utils';\nimport {Th} from '../../table-header/Th';\nimport {useTable} from '../../TableContext';\nimport {type TableLayoutProps} from '../TableLayouts';\nimport {RowLayoutBodyFactory} from './RowLayoutBody';\nimport {useRowLayout} from './RowLayoutContext';\n\nexport type RowLayoutHeaderStyleNames = 'headerRow';\n\nexport interface RowLayoutHeaderProps<T>\n extends BoxProps,\n TableLayoutProps<T>,\n CompoundStylesApiProps<RowLayoutBodyFactory> {}\n\ntype RowLayoutHeaderFactory = Factory<{\n props: RowLayoutHeaderProps<unknown>;\n ref: HTMLTableRowElement;\n stylesNames: RowLayoutHeaderStyleNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutHeaderProps<unknown>> = {};\n\nexport const RowLayoutHeader = <T,>(props: RowLayoutHeaderProps<T> & {ref?: ForwardedRef<HTMLTableRowElement>}) => {\n const ctx = useRowLayout();\n const {table, getExpandChildren, loading, doubleClickAction, className, style, classNames, styles, ...others} =\n useProps('RowLayoutHeader', defaultProps as RowLayoutHeaderProps<T>, props);\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n\n const headers = table.getHeaderGroups().map((headerGroup) => (\n <tr\n key={headerGroup.id}\n data-selectable={!disableRowSelection}\n data-multi-selection={multiRowSelectionEnabled}\n {...ctx.getStyles('headerRow', {className, classNames, styles, style})}\n {...others}\n >\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ));\n return <>{headers}</>;\n};\nRowLayoutHeader.extend = identity as CustomComponentThemeExtend<RowLayoutHeaderFactory>;\n"],"names":["RowLayoutHeader","defaultProps","props","ctx","useRowLayout","useProps","table","getExpandChildren","loading","doubleClickAction","className","style","classNames","styles","others","useTable","multiRowSelectionEnabled","disableRowSelection","headers","getHeaderGroups","map","headerGroup","tr","data-selectable","data-multi-selection","getStyles","columnHeader","Th","header","id","extend","identity"],"mappings":";;;;+BA0BaA;;;eAAAA;;;;;;;oBA1B6B;qBAGS;kBAClC;4BACM;gCAGI;AAgB3B,IAAMC,eAAuD,CAAC;AAEvD,IAAMD,kBAAkB,SAAKE;IAChC,IAAMC,MAAMC,IAAAA,8BAAY;IACxB,IACIC,YAAAA,IAAAA,cAAQ,EAAC,mBAAmBJ,cAAyCC,QADlEI,QACHD,UADGC,OAAOC,oBACVF,UADUE,mBAAmBC,UAC7BH,UAD6BG,SAASC,oBACtCJ,UADsCI,mBAAmBC,YACzDL,UADyDK,WAAWC,QACpEN,UADoEM,OAAOC,aAC3EP,UAD2EO,YAAYC,SACvFR,UADuFQ,QAAWC,sCAClGT;QADGC;QAAOC;QAAmBC;QAASC;QAAmBC;QAAWC;QAAOC;QAAYC;;IAE3F,IAAwDE,YAAAA,IAAAA,sBAAQ,KAAzDC,2BAAiDD,UAAjDC,0BAA0BC,sBAAuBF,UAAvBE;IAEjC,IAAMC,UAAUZ,MAAMa,eAAe,GAAGC,GAAG,CAAC,SAACC;6BACzC,qBAACC;YAEGC,mBAAiB,CAACN;YAClBO,wBAAsBR;WAClBb,IAAIsB,SAAS,CAAC,aAAa;YAACf,WAAAA;YAAWE,YAAAA;YAAYC,QAAAA;YAAQF,OAAAA;QAAK,IAChEG;sBAEHO,YAAYH,OAAO,CAACE,GAAG,CAAC,SAACM;qCACtB,qBAACC,MAAE;oBAAuBC,QAAQF;mBAAzBA,aAAaG,EAAE;;YAPvBR,YAAYQ,EAAE;;IAW3B,qBAAO;kBAAGX;;AACd;AACAlB,gBAAgB8B,MAAM,GAAGC,eAAQ"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutHeader.tsx"],"sourcesContent":["import {BoxProps, Factory, useProps} from '@mantine/core';\nimport {CompoundStylesApiProps} from '@mantine/core/lib/core/styles-api/styles-api.types';\nimport {ForwardedRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../../utils';\nimport {Th} from '../../table-header/Th';\nimport {useTable} from '../../TableContext';\nimport {type TableLayoutProps} from '../TableLayouts';\nimport {RowLayoutBodyFactory} from './RowLayoutBody';\nimport {useRowLayout} from './RowLayoutContext';\n\nexport type RowLayoutHeaderStyleNames = 'headerRow';\n\nexport interface RowLayoutHeaderProps<T>\n extends BoxProps,\n TableLayoutProps<T>,\n CompoundStylesApiProps<RowLayoutBodyFactory> {}\n\ntype RowLayoutHeaderFactory = Factory<{\n props: RowLayoutHeaderProps<unknown>;\n ref: HTMLTableRowElement;\n stylesNames: RowLayoutHeaderStyleNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutHeaderProps<unknown>> = {};\n\nexport const RowLayoutHeader = <T,>(props: RowLayoutHeaderProps<T> & {ref?: ForwardedRef<HTMLTableRowElement>}) => {\n const ctx = useRowLayout();\n const {table, getExpandChildren, loading, doubleClickAction, className, style, classNames, styles, ...others} =\n useProps('RowLayoutHeader', defaultProps as RowLayoutHeaderProps<T>, props);\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n\n const headers = table.getHeaderGroups().map((headerGroup) => (\n <tr\n key={headerGroup.id}\n data-selectable={!disableRowSelection}\n data-multi-selection={multiRowSelectionEnabled}\n {...ctx.getStyles('headerRow', {className, classNames, styles, style})}\n {...others}\n >\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ));\n return <>{headers}</>;\n};\nRowLayoutHeader.extend = identity as CustomComponentThemeExtend<RowLayoutHeaderFactory>;\n"],"names":["RowLayoutHeader","defaultProps","props","ctx","useRowLayout","useProps","table","getExpandChildren","loading","doubleClickAction","className","style","classNames","styles","others","useTable","multiRowSelectionEnabled","disableRowSelection","headers","getHeaderGroups","map","headerGroup","tr","data-selectable","data-multi-selection","getStyles","columnHeader","Th","header","id","extend","identity"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BA0BaA;;;eAAAA;;;;;;;oBA1B6B;qBAGS;kBAClC;4BACM;gCAGI;AAgB3B,IAAMC,eAAuD,CAAC;AAEvD,IAAMD,kBAAkB,SAAKE;IAChC,IAAMC,MAAMC,IAAAA,8BAAY;IACxB,IACIC,YAAAA,IAAAA,cAAQ,EAAC,mBAAmBJ,cAAyCC,QADlEI,QACHD,UADGC,OAAOC,oBACVF,UADUE,mBAAmBC,UAC7BH,UAD6BG,SAASC,oBACtCJ,UADsCI,mBAAmBC,YACzDL,UADyDK,WAAWC,QACpEN,UADoEM,OAAOC,aAC3EP,UAD2EO,YAAYC,SACvFR,UADuFQ,QAAWC,sCAClGT;QADGC;QAAOC;QAAmBC;QAASC;QAAmBC;QAAWC;QAAOC;QAAYC;;IAE3F,IAAwDE,YAAAA,IAAAA,sBAAQ,KAAzDC,2BAAiDD,UAAjDC,0BAA0BC,sBAAuBF,UAAvBE;IAEjC,IAAMC,UAAUZ,MAAMa,eAAe,GAAGC,GAAG,CAAC,SAACC;6BACzC,qBAACC;YAEGC,mBAAiB,CAACN;YAClBO,wBAAsBR;WAClBb,IAAIsB,SAAS,CAAC,aAAa;YAACf,WAAAA;YAAWE,YAAAA;YAAYC,QAAAA;YAAQF,OAAAA;QAAK,IAChEG;sBAEHO,YAAYH,OAAO,CAACE,GAAG,CAAC,SAACM;qCACtB,qBAACC,MAAE;oBAAuBC,QAAQF;mBAAzBA,aAAaG,EAAE;;YAPvBR,YAAYQ,EAAE;;IAW3B,qBAAO;kBAAGX;;AACd;AACAlB,gBAAgB8B,MAAM,GAAGC,eAAQ"}
|
|
@@ -18,10 +18,10 @@ var defaultProps = {
|
|
|
18
18
|
};
|
|
19
19
|
var RowLayoutIcon = (0, _core.factory)(function(props, ref) {
|
|
20
20
|
var ctx = (0, _RowLayoutContext.useRowLayout)();
|
|
21
|
-
var _useProps = (0, _core.useProps)(
|
|
21
|
+
var _useProps = (0, _core.useProps)('RowLayoutIcon', defaultProps, props), Icon = _useProps.icon, classNames = _useProps.classNames, styles = _useProps.styles;
|
|
22
22
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)(Icon, _object_spread._({
|
|
23
23
|
ref: ref
|
|
24
|
-
}, ctx.getStyles(
|
|
24
|
+
}, ctx.getStyles('icon', {
|
|
25
25
|
styles: styles,
|
|
26
26
|
classNames: classNames
|
|
27
27
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutIcon.tsx"],"sourcesContent":["import {Icon as IconType, ListSize16Px} from '@coveord/plasma-react-icons';\nimport {factory, Factory, useProps} from '@mantine/core';\nimport {CompoundStylesApiProps} from '@mantine/core/lib/core/styles-api/styles-api.types';\nimport {useRowLayout} from './RowLayoutContext';\n\nexport type RowLayoutIconStylesNames = 'icon';\nexport interface RowLayoutIconProps extends CompoundStylesApiProps<RowLayoutIconFactory> {\n icon: IconType;\n}\n\nexport type RowLayoutIconFactory = Factory<{\n props: RowLayoutIconProps;\n ref: SVGSVGElement;\n stylesNames: RowLayoutIconStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutIconProps> = {\n icon: ListSize16Px,\n};\n\nexport const RowLayoutIcon = factory<RowLayoutIconFactory>((props, ref) => {\n const ctx = useRowLayout();\n const {icon: Icon, classNames, styles} = useProps('RowLayoutIcon', defaultProps, props);\n\n return <Icon ref={ref} {...ctx.getStyles('icon', {styles, classNames})} />;\n});\n"],"names":["RowLayoutIcon","defaultProps","icon","ListSize16Px","factory","props","ref","ctx","useRowLayout","useProps","Icon","classNames","styles","getStyles"],"mappings":";;;;+BAqBaA;;;eAAAA;;;;;gCArBgC;oBACJ;gCAEd;AAc3B,IAAMC,eAA4C;IAC9CC,MAAMC,8BAAY;AACtB;AAEO,IAAMH,gBAAgBI,IAAAA,aAAO,EAAuB,SAACC,OAAOC;IAC/D,IAAMC,MAAMC,IAAAA,8BAAY;IACxB,IAAyCC,YAAAA,IAAAA,cAAQ,EAAC,iBAAiBR,cAAcI,QAA1EH,AAAMQ,OAA4BD,UAAlCP,MAAYS,aAAsBF,UAAtBE,YAAYC,SAAUH,UAAVG;IAE/B,qBAAO,qBAACF;QAAKJ,KAAKA;OAASC,IAAIM,SAAS,CAAC,QAAQ;QAACD,QAAAA;QAAQD,YAAAA;IAAU;AACxE"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutIcon.tsx"],"sourcesContent":["import {Icon as IconType, ListSize16Px} from '@coveord/plasma-react-icons';\nimport {factory, Factory, useProps} from '@mantine/core';\nimport {CompoundStylesApiProps} from '@mantine/core/lib/core/styles-api/styles-api.types';\nimport {useRowLayout} from './RowLayoutContext';\n\nexport type RowLayoutIconStylesNames = 'icon';\nexport interface RowLayoutIconProps extends CompoundStylesApiProps<RowLayoutIconFactory> {\n icon: IconType;\n}\n\nexport type RowLayoutIconFactory = Factory<{\n props: RowLayoutIconProps;\n ref: SVGSVGElement;\n stylesNames: RowLayoutIconStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutIconProps> = {\n icon: ListSize16Px,\n};\n\nexport const RowLayoutIcon = factory<RowLayoutIconFactory>((props, ref) => {\n const ctx = useRowLayout();\n const {icon: Icon, classNames, styles} = useProps('RowLayoutIcon', defaultProps, props);\n\n return <Icon ref={ref} {...ctx.getStyles('icon', {styles, classNames})} />;\n});\n"],"names":["RowLayoutIcon","defaultProps","icon","ListSize16Px","factory","props","ref","ctx","useRowLayout","useProps","Icon","classNames","styles","getStyles"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAqBaA;;;eAAAA;;;;;gCArBgC;oBACJ;gCAEd;AAc3B,IAAMC,eAA4C;IAC9CC,MAAMC,8BAAY;AACtB;AAEO,IAAMH,gBAAgBI,IAAAA,aAAO,EAAuB,SAACC,OAAOC;IAC/D,IAAMC,MAAMC,IAAAA,8BAAY;IACxB,IAAyCC,YAAAA,IAAAA,cAAQ,EAAC,iBAAiBR,cAAcI,QAA1EH,AAAMQ,OAA4BD,UAAlCP,MAAYS,aAAsBF,UAAtBE,YAAYC,SAAUH,UAAVG;IAE/B,qBAAO,qBAACF;QAAKJ,KAAKA;OAASC,IAAIM,SAAS,CAAC,QAAQ;QAACD,QAAAA;QAAQD,YAAAA;IAAU;AACxE"}
|
|
@@ -20,7 +20,7 @@ var defaultProps = {};
|
|
|
20
20
|
var TableActions = function(props) {
|
|
21
21
|
var ctx = (0, _TableContext.useTableStyles)();
|
|
22
22
|
var _useTable = (0, _TableContext.useTable)(), getSelectedRows = _useTable.getSelectedRows, multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled;
|
|
23
|
-
var _useProps = (0, _core.useProps)(
|
|
23
|
+
var _useProps = (0, _core.useProps)('PlasmaTableActions', defaultProps, props), style = _useProps.style, className = _useProps.className, classNames = _useProps.classNames, styles = _useProps.styles, children = _useProps.children, others = _object_without_properties._(_useProps, [
|
|
24
24
|
"style",
|
|
25
25
|
"className",
|
|
26
26
|
"classNames",
|
|
@@ -34,10 +34,10 @@ var TableActions = function(props) {
|
|
|
34
34
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Grid.Col, _object_spread_props._(_object_spread._({
|
|
35
35
|
span: "content",
|
|
36
36
|
order: _Table.TableComponentsOrder.Actions
|
|
37
|
-
}, ctx.getStyles(
|
|
37
|
+
}, ctx.getStyles('actionsRoot', {}), others), {
|
|
38
38
|
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Group, _object_spread_props._(_object_spread._({
|
|
39
39
|
gap: "xs"
|
|
40
|
-
}, ctx.getStyles(
|
|
40
|
+
}, ctx.getStyles('actionsGroup', {})), {
|
|
41
41
|
children: multiRowSelectionEnabled ? children(selectedRows) : children(selectedRows[0])
|
|
42
42
|
}))
|
|
43
43
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/table/table-actions/TableActions.tsx"],"sourcesContent":["import {Factory, Grid, GridColProps, Group, useProps} from '@mantine/core';\nimport {ForwardedRef, ReactElement, ReactNode} from 'react';\n\nimport {CustomComponentThemeExtend, identity} from '../../../utils';\nimport {TableComponentsOrder} from '../Table';\nimport {useTable, useTableStyles} from '../TableContext';\n\nexport type TableActionsStylesNames = 'actionsRoot' | 'actionsGroup';\n\nexport interface TableActionsProps<T> extends Omit<GridColProps, 'children'> {\n /**\n * Function that return components for the selected row or selected rows when multi row selection is enabled\n *\n * @param datum the data of the selected row(s)\n * @example\n * <Table.Actions<MyType>>\n * {(datum: MyType) => (\n * <Button\n * component={Link}\n * to={`edit/${datum.id}`}\n * leftIcon={<EditSize24Px />}\n * variant=\"subtle\"\n * color=\"navy.8\"\n * >\n * Edit\n * </Button>\n * )}\n * </Table.Actions>\n */\n children: ((datum: T) => ReactNode) | ((data: T[]) => ReactNode);\n}\n\ntype TableActionsFactory = Factory<{\n props: TableActionsProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableActionsStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableActionsProps<unknown>> = {};\n\nexport const TableActions = <T,>(props: TableActionsProps<T> & {ref?: ForwardedRef<HTMLDivElement>}): ReactElement => {\n const ctx = useTableStyles();\n const {getSelectedRows, multiRowSelectionEnabled} = useTable<T>();\n const {style, className, classNames, styles, children, ...others} = useProps(\n 'PlasmaTableActions',\n defaultProps,\n props,\n );\n const selectedRows = getSelectedRows();\n\n if (selectedRows.length <= 0) {\n return null;\n }\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Actions} {...ctx.getStyles('actionsRoot', {})} {...others}>\n <Group gap=\"xs\" {...ctx.getStyles('actionsGroup', {})}>\n {multiRowSelectionEnabled\n ? (children as (data: T[]) => ReactNode)(selectedRows)\n : (children as (datum: T) => ReactNode)(selectedRows[0])}\n </Group>\n </Grid.Col>\n );\n};\n\nTableActions.extend = identity as CustomComponentThemeExtend<TableActionsFactory>;\n"],"names":["TableActions","defaultProps","props","ctx","useTableStyles","useTable","getSelectedRows","multiRowSelectionEnabled","useProps","style","className","classNames","styles","children","others","selectedRows","length","Grid","Col","span","order","TableComponentsOrder","Actions","getStyles","Group","gap","extend","identity"],"mappings":";;;;+BAyCaA;;;eAAAA;;;;;;;oBAzC8C;qBAGR;qBAChB;4BACI;AAkCvC,IAAMC,eAAoD,CAAC;AAEpD,IAAMD,eAAe,SAAKE;IAC7B,IAAMC,MAAMC,IAAAA,4BAAc;IAC1B,IAAoDC,YAAAA,IAAAA,sBAAQ,KAArDC,kBAA6CD,UAA7CC,iBAAiBC,2BAA4BF,UAA5BE;IACxB,IAAoEC,YAAAA,IAAAA,cAAQ,EACxE,sBACAP,cACAC,QAHGO,QAA6DD,UAA7DC,OAAOC,YAAsDF,UAAtDE,WAAWC,aAA2CH,UAA3CG,YAAYC,SAA+BJ,UAA/BI,QAAQC,WAAuBL,UAAvBK,UAAaC,sCAAUN;QAA7DC;QAAOC;QAAWC;QAAYC;QAAQC;;IAK7C,IAAME,eAAeT;IAErB,IAAIS,aAAaC,MAAM,IAAI,GAAG;QAC1B,OAAO;IACX;IAEA,qBACI,qBAACC,UAAI,CAACC,GAAG;QAACC,MAAK;QAAUC,OAAOC,2BAAoB,CAACC,OAAO;OAAMnB,IAAIoB,SAAS,CAAC,eAAe,CAAC,IAAQT;kBACpG,cAAA,qBAACU,WAAK;YAACC,KAAI;WAAStB,IAAIoB,SAAS,CAAC,gBAAgB,CAAC;sBAC9ChB,2BACK,AAACM,SAAsCE,gBACvC,AAACF,SAAqCE,YAAY,CAAC,EAAE;;;AAI3E;AAEAf,aAAa0B,MAAM,GAAGC,eAAQ"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/table/table-actions/TableActions.tsx"],"sourcesContent":["import {Factory, Grid, GridColProps, Group, useProps} from '@mantine/core';\nimport {ForwardedRef, ReactElement, ReactNode} from 'react';\n\nimport {CustomComponentThemeExtend, identity} from '../../../utils';\nimport {TableComponentsOrder} from '../Table';\nimport {useTable, useTableStyles} from '../TableContext';\n\nexport type TableActionsStylesNames = 'actionsRoot' | 'actionsGroup';\n\nexport interface TableActionsProps<T> extends Omit<GridColProps, 'children'> {\n /**\n * Function that return components for the selected row or selected rows when multi row selection is enabled\n *\n * @param datum the data of the selected row(s)\n * @example\n * <Table.Actions<MyType>>\n * {(datum: MyType) => (\n * <Button\n * component={Link}\n * to={`edit/${datum.id}`}\n * leftIcon={<EditSize24Px />}\n * variant=\"subtle\"\n * color=\"navy.8\"\n * >\n * Edit\n * </Button>\n * )}\n * </Table.Actions>\n */\n children: ((datum: T) => ReactNode) | ((data: T[]) => ReactNode);\n}\n\ntype TableActionsFactory = Factory<{\n props: TableActionsProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableActionsStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableActionsProps<unknown>> = {};\n\nexport const TableActions = <T,>(props: TableActionsProps<T> & {ref?: ForwardedRef<HTMLDivElement>}): ReactElement => {\n const ctx = useTableStyles();\n const {getSelectedRows, multiRowSelectionEnabled} = useTable<T>();\n const {style, className, classNames, styles, children, ...others} = useProps(\n 'PlasmaTableActions',\n defaultProps,\n props,\n );\n const selectedRows = getSelectedRows();\n\n if (selectedRows.length <= 0) {\n return null;\n }\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Actions} {...ctx.getStyles('actionsRoot', {})} {...others}>\n <Group gap=\"xs\" {...ctx.getStyles('actionsGroup', {})}>\n {multiRowSelectionEnabled\n ? (children as (data: T[]) => ReactNode)(selectedRows)\n : (children as (datum: T) => ReactNode)(selectedRows[0])}\n </Group>\n </Grid.Col>\n );\n};\n\nTableActions.extend = identity as CustomComponentThemeExtend<TableActionsFactory>;\n"],"names":["TableActions","defaultProps","props","ctx","useTableStyles","useTable","getSelectedRows","multiRowSelectionEnabled","useProps","style","className","classNames","styles","children","others","selectedRows","length","Grid","Col","span","order","TableComponentsOrder","Actions","getStyles","Group","gap","extend","identity"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAyCaA;;;eAAAA;;;;;;;oBAzC8C;qBAGR;qBAChB;4BACI;AAkCvC,IAAMC,eAAoD,CAAC;AAEpD,IAAMD,eAAe,SAAKE;IAC7B,IAAMC,MAAMC,IAAAA,4BAAc;IAC1B,IAAoDC,YAAAA,IAAAA,sBAAQ,KAArDC,kBAA6CD,UAA7CC,iBAAiBC,2BAA4BF,UAA5BE;IACxB,IAAoEC,YAAAA,IAAAA,cAAQ,EACxE,sBACAP,cACAC,QAHGO,QAA6DD,UAA7DC,OAAOC,YAAsDF,UAAtDE,WAAWC,aAA2CH,UAA3CG,YAAYC,SAA+BJ,UAA/BI,QAAQC,WAAuBL,UAAvBK,UAAaC,sCAAUN;QAA7DC;QAAOC;QAAWC;QAAYC;QAAQC;;IAK7C,IAAME,eAAeT;IAErB,IAAIS,aAAaC,MAAM,IAAI,GAAG;QAC1B,OAAO;IACX;IAEA,qBACI,qBAACC,UAAI,CAACC,GAAG;QAACC,MAAK;QAAUC,OAAOC,2BAAoB,CAACC,OAAO;OAAMnB,IAAIoB,SAAS,CAAC,eAAe,CAAC,IAAQT;kBACpG,cAAA,qBAACU,WAAK;YAACC,KAAI;WAAStB,IAAIoB,SAAS,CAAC,gBAAgB,CAAC;sBAC9ChB,2BACK,AAACM,SAAsCE,gBACvC,AAACF,SAAqCE,YAAY,CAAC,EAAE;;;AAI3E;AAEAf,aAAa0B,MAAM,GAAGC,eAAQ"}
|
|
@@ -9,11 +9,11 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
TableCollapsibleColumn: function() {
|
|
13
|
-
return TableCollapsibleColumn;
|
|
14
|
-
},
|
|
15
12
|
TableAccordionColumn: function() {
|
|
16
13
|
return TableAccordionColumn;
|
|
14
|
+
},
|
|
15
|
+
TableCollapsibleColumn: function() {
|
|
16
|
+
return TableCollapsibleColumn;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
var _object_spread = require("@swc/helpers/_/_object_spread");
|
|
@@ -25,9 +25,9 @@ var _core = require("@mantine/core");
|
|
|
25
25
|
var _actionicon = require("../../action-icon");
|
|
26
26
|
var _TableContext = require("../TableContext");
|
|
27
27
|
var sharedProps = {
|
|
28
|
-
id:
|
|
28
|
+
id: 'collapsible',
|
|
29
29
|
enableSorting: false,
|
|
30
|
-
header:
|
|
30
|
+
header: '',
|
|
31
31
|
size: 84
|
|
32
32
|
};
|
|
33
33
|
var TableCollapsibleColumn = _object_spread_props._(_object_spread._({}, sharedProps), {
|
|
@@ -61,7 +61,7 @@ var defaultProps = {
|
|
|
61
61
|
};
|
|
62
62
|
var CollapsibleIcon = (0, _core.factory)(function(props, ref) {
|
|
63
63
|
var ctx = (0, _TableContext.useTableStyles)();
|
|
64
|
-
var _useProps = (0, _core.useProps)(
|
|
64
|
+
var _useProps = (0, _core.useProps)('PlasmaTableCollapsibleColumn', defaultProps, props), info = _useProps.info, onToggle = _useProps.onToggle, iconExpanded = _useProps.iconExpanded, iconCollapsed = _useProps.iconCollapsed, classNames = _useProps.classNames, className = _useProps.className, style = _useProps.style, styles = _useProps.styles, others = _object_without_properties._(_useProps, [
|
|
65
65
|
"info",
|
|
66
66
|
"onToggle",
|
|
67
67
|
"iconExpanded",
|
|
@@ -73,9 +73,8 @@ var CollapsibleIcon = (0, _core.factory)(function(props, ref) {
|
|
|
73
73
|
]);
|
|
74
74
|
var handler = info.row.getToggleExpandedHandler();
|
|
75
75
|
var onClick = function(e) {
|
|
76
|
-
var _onToggle;
|
|
77
76
|
e.stopPropagation();
|
|
78
|
-
|
|
77
|
+
onToggle === null || onToggle === void 0 ? void 0 : onToggle(e);
|
|
79
78
|
handler();
|
|
80
79
|
};
|
|
81
80
|
return info.row.getCanExpand() ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_actionicon.ActionIcon, _object_spread_props._(_object_spread._({
|
|
@@ -84,7 +83,7 @@ var CollapsibleIcon = (0, _core.factory)(function(props, ref) {
|
|
|
84
83
|
variant: "subtle",
|
|
85
84
|
color: "gray",
|
|
86
85
|
radius: "sm"
|
|
87
|
-
}, ctx.getStyles(
|
|
86
|
+
}, ctx.getStyles('collapsibleIcon', {
|
|
88
87
|
className: className,
|
|
89
88
|
classNames: classNames,
|
|
90
89
|
styles: styles,
|