@coveord/plasma-mantine 53.1.4 → 54.0.1
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/.eslintrc.js +1 -5
- package/.turbo/turbo-build.log +3 -3
- package/.turbo/turbo-test.log +42 -37
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/components/button/Button.d.ts +1 -2
- package/dist/cjs/components/button/Button.d.ts.map +1 -1
- package/dist/cjs/components/button/Button.js.map +1 -1
- package/dist/cjs/components/code-editor/CodeEditor.d.ts.map +1 -1
- package/dist/cjs/components/code-editor/CodeEditor.js +2 -4
- package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/cjs/components/collection/Collection.d.ts.map +1 -1
- package/dist/cjs/components/collection/CollectionContext.d.ts +1 -1
- package/dist/cjs/components/collection/CollectionContext.d.ts.map +1 -1
- package/dist/cjs/components/collection/enhanceWithCollectionProps.d.ts +1 -6
- package/dist/cjs/components/collection/enhanceWithCollectionProps.d.ts.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
- package/dist/cjs/components/header/Header.context.d.ts +1 -1
- package/dist/cjs/components/header/Header.context.d.ts.map +1 -1
- package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -15
- package/dist/cjs/components/inline-confirm/InlineConfirm.d.ts +10 -2
- package/dist/cjs/components/inline-confirm/InlineConfirm.d.ts.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirm.js +2 -1
- package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmContext.d.ts +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmContext.d.ts.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.d.ts +2 -5
- package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.d.ts.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js +5 -5
- package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts +2 -2
- package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js +3 -3
- package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
- package/dist/cjs/components/menu/Menu.d.ts +1 -1
- package/dist/cjs/components/table/Table.d.ts +68 -55
- package/dist/cjs/components/table/Table.d.ts.map +1 -1
- package/dist/cjs/components/table/Table.js +129 -174
- package/dist/cjs/components/table/Table.js.map +1 -1
- package/dist/cjs/components/table/Table.module.css +8 -1
- package/dist/cjs/components/table/Table.types.d.ts +52 -147
- package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
- package/dist/cjs/components/table/TableContext.d.ts +15 -10
- package/dist/cjs/components/table/TableContext.d.ts.map +1 -1
- package/dist/cjs/components/table/TableContext.js +5 -20
- package/dist/cjs/components/table/TableContext.js.map +1 -1
- package/dist/cjs/components/table/index.d.ts +3 -3
- package/dist/cjs/components/table/index.d.ts.map +1 -1
- package/dist/cjs/components/table/index.js +5 -1
- package/dist/cjs/components/table/index.js.map +1 -1
- package/dist/cjs/components/table/layouts/TableLayoutControl.js +6 -6
- package/dist/cjs/components/table/layouts/TableLayoutControl.js.map +1 -1
- package/dist/cjs/components/table/layouts/TableLayouts.d.ts +1 -22
- package/dist/cjs/components/table/layouts/TableLayouts.d.ts.map +1 -1
- package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts +1 -2
- package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayout.js.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts +2 -3
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js +17 -18
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.d.ts +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.d.ts.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts +2 -3
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js +9 -8
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.d.ts +1 -5
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.d.ts.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js +3 -9
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
- package/dist/cjs/components/table/table-actions/TableActionContext.d.ts +9 -0
- package/dist/cjs/components/table/table-actions/TableActionContext.d.ts.map +1 -0
- package/dist/cjs/components/table/table-actions/TableActionContext.js +24 -0
- package/dist/cjs/components/table/table-actions/TableActionContext.js.map +1 -0
- package/dist/cjs/components/table/table-actions/TableActionItem.d.ts +44 -0
- package/dist/cjs/components/table/table-actions/TableActionItem.d.ts.map +1 -0
- package/dist/cjs/components/table/table-actions/TableActionItem.js +59 -0
- package/dist/cjs/components/table/table-actions/TableActionItem.js.map +1 -0
- package/dist/cjs/components/table/table-actions/TableActionsList.d.ts +37 -0
- package/dist/cjs/components/table/table-actions/TableActionsList.d.ts.map +1 -0
- package/dist/cjs/components/table/table-actions/TableActionsList.js +217 -0
- package/dist/cjs/components/table/table-actions/TableActionsList.js.map +1 -0
- package/dist/cjs/components/table/table-actions/TableHeaderActions.d.ts +11 -0
- package/dist/cjs/components/table/table-actions/TableHeaderActions.d.ts.map +1 -0
- package/dist/cjs/components/table/table-actions/TableHeaderActions.js +59 -0
- package/dist/cjs/components/table/table-actions/TableHeaderActions.js.map +1 -0
- package/dist/cjs/components/table/table-actions/index.d.ts +3 -0
- package/dist/cjs/components/table/table-actions/index.d.ts.map +1 -0
- package/dist/cjs/components/table/table-actions/index.js +9 -0
- package/dist/cjs/components/table/table-actions/index.js.map +1 -0
- package/dist/cjs/components/table/table-column/TableActionsColumn.d.ts +6 -0
- package/dist/cjs/components/table/table-column/TableActionsColumn.d.ts.map +1 -0
- package/dist/cjs/components/table/table-column/TableActionsColumn.js +53 -0
- package/dist/cjs/components/table/table-column/TableActionsColumn.js.map +1 -0
- package/dist/cjs/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -1
- package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js +6 -2
- package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
- package/dist/cjs/components/table/table-column/TableSelectableColumn.d.ts.map +1 -1
- package/dist/cjs/components/table/table-column/TableSelectableColumn.js +4 -0
- package/dist/cjs/components/table/table-column/TableSelectableColumn.js.map +1 -1
- package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.d.ts +7 -12
- package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
- package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js +24 -20
- package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts +1 -2
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js +7 -7
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/table/table-filter/TableFilter.d.ts +1 -2
- package/dist/cjs/components/table/table-filter/TableFilter.d.ts.map +1 -1
- package/dist/cjs/components/table/table-filter/TableFilter.js +11 -16
- package/dist/cjs/components/table/table-filter/TableFilter.js.map +1 -1
- package/dist/cjs/components/table/table-header/TableHeader.d.ts +7 -2
- package/dist/cjs/components/table/table-header/TableHeader.d.ts.map +1 -1
- package/dist/cjs/components/table/table-header/TableHeader.js +15 -12
- package/dist/cjs/components/table/table-header/TableHeader.js.map +1 -1
- package/dist/cjs/components/table/table-header/Th.d.ts +1 -2
- package/dist/cjs/components/table/table-header/Th.d.ts.map +1 -1
- package/dist/cjs/components/table/table-header/Th.js +7 -3
- package/dist/cjs/components/table/table-header/Th.js.map +1 -1
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts +1 -3
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -1
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js +6 -9
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
- package/dist/cjs/components/table/table-no-data/TableNoData.d.ts +6 -0
- package/dist/cjs/components/table/table-no-data/TableNoData.d.ts.map +1 -0
- package/dist/cjs/components/table/{table-consumer/TableConsumer.js → table-no-data/TableNoData.js} +4 -4
- package/dist/cjs/components/table/table-no-data/TableNoData.js.map +1 -0
- package/dist/cjs/components/table/table-pagination/TablePagination.d.ts.map +1 -1
- package/dist/cjs/components/table/table-pagination/TablePagination.js +9 -11
- package/dist/cjs/components/table/table-pagination/TablePagination.js.map +1 -1
- package/dist/cjs/components/table/table-pagination/TablePagination.types.d.ts +0 -4
- package/dist/cjs/components/table/table-pagination/TablePagination.types.d.ts.map +1 -1
- package/dist/cjs/components/table/table-per-page/TablePerPage.d.ts.map +1 -1
- package/dist/cjs/components/table/table-per-page/TablePerPage.js +16 -16
- package/dist/cjs/components/table/table-per-page/TablePerPage.js.map +1 -1
- package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts +1 -2
- package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts.map +1 -1
- package/dist/cjs/components/table/table-predicate/TablePredicate.js +12 -14
- package/dist/cjs/components/table/table-predicate/TablePredicate.js.map +1 -1
- package/dist/cjs/components/table/use-table.d.ts +182 -0
- package/dist/cjs/components/table/use-table.d.ts.map +1 -0
- package/dist/cjs/components/table/use-table.js +145 -0
- package/dist/cjs/components/table/use-table.js.map +1 -0
- package/dist/cjs/hooks/useControlledList.d.ts.map +1 -1
- package/dist/cjs/index.d.ts +11 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/theme/Theme.d.ts.map +1 -1
- package/dist/cjs/theme/Theme.js +0 -7
- package/dist/cjs/theme/Theme.js.map +1 -1
- package/dist/cjs/utils/createFactoryComponent.d.ts.map +1 -1
- package/dist/cjs/utils/overrideComponent.d.ts.map +1 -1
- package/dist/esm/components/button/Button.d.ts +1 -2
- package/dist/esm/components/button/Button.d.ts.map +1 -1
- package/dist/esm/components/button/Button.js.map +1 -1
- package/dist/esm/components/code-editor/CodeEditor.d.ts.map +1 -1
- package/dist/esm/components/code-editor/CodeEditor.js +2 -4
- package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/esm/components/collection/Collection.d.ts.map +1 -1
- package/dist/esm/components/collection/CollectionContext.d.ts +1 -1
- package/dist/esm/components/collection/CollectionContext.d.ts.map +1 -1
- package/dist/esm/components/collection/enhanceWithCollectionProps.d.ts +1 -6
- package/dist/esm/components/collection/enhanceWithCollectionProps.d.ts.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
- package/dist/esm/components/header/Header.context.d.ts +1 -1
- package/dist/esm/components/header/Header.context.d.ts.map +1 -1
- package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -15
- package/dist/esm/components/inline-confirm/InlineConfirm.d.ts +10 -2
- package/dist/esm/components/inline-confirm/InlineConfirm.d.ts.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirm.js +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmContext.d.ts +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmContext.d.ts.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmPrompt.d.ts +2 -5
- package/dist/esm/components/inline-confirm/InlineConfirmPrompt.d.ts.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js +4 -4
- package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts +2 -2
- package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmTarget.js +2 -2
- package/dist/esm/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
- package/dist/esm/components/menu/Menu.d.ts +1 -1
- package/dist/esm/components/table/Table.d.ts +68 -55
- package/dist/esm/components/table/Table.d.ts.map +1 -1
- package/dist/esm/components/table/Table.js +122 -157
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/Table.module.css +8 -1
- package/dist/esm/components/table/Table.types.d.ts +52 -147
- package/dist/esm/components/table/Table.types.d.ts.map +1 -1
- package/dist/esm/components/table/Table.types.js.map +1 -1
- package/dist/esm/components/table/TableContext.d.ts +15 -10
- package/dist/esm/components/table/TableContext.d.ts.map +1 -1
- package/dist/esm/components/table/TableContext.js +1 -10
- package/dist/esm/components/table/TableContext.js.map +1 -1
- package/dist/esm/components/table/index.d.ts +3 -3
- package/dist/esm/components/table/index.d.ts.map +1 -1
- package/dist/esm/components/table/index.js +2 -1
- package/dist/esm/components/table/index.js.map +1 -1
- package/dist/esm/components/table/layouts/TableLayoutControl.js +4 -4
- package/dist/esm/components/table/layouts/TableLayoutControl.js.map +1 -1
- package/dist/esm/components/table/layouts/TableLayouts.d.ts +1 -22
- package/dist/esm/components/table/layouts/TableLayouts.d.ts.map +1 -1
- package/dist/esm/components/table/layouts/TableLayouts.js.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts +1 -2
- package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts.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.d.ts +2 -3
- package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js +13 -11
- package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.d.ts +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.d.ts.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts +2 -3
- package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js +5 -5
- package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.d.ts +1 -5
- package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.d.ts.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js +2 -8
- package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
- package/dist/esm/components/table/table-actions/TableActionContext.d.ts +9 -0
- package/dist/esm/components/table/table-actions/TableActionContext.d.ts.map +1 -0
- package/dist/esm/components/table/table-actions/TableActionContext.js +4 -0
- package/dist/esm/components/table/table-actions/TableActionContext.js.map +1 -0
- package/dist/esm/components/table/table-actions/TableActionItem.d.ts +44 -0
- package/dist/esm/components/table/table-actions/TableActionItem.d.ts.map +1 -0
- package/dist/esm/components/table/table-actions/TableActionItem.js +40 -0
- package/dist/esm/components/table/table-actions/TableActionItem.js.map +1 -0
- package/dist/esm/components/table/table-actions/TableActionsList.d.ts +37 -0
- package/dist/esm/components/table/table-actions/TableActionsList.d.ts.map +1 -0
- package/dist/esm/components/table/table-actions/TableActionsList.js +187 -0
- package/dist/esm/components/table/table-actions/TableActionsList.js.map +1 -0
- package/dist/esm/components/table/table-actions/TableHeaderActions.d.ts +11 -0
- package/dist/esm/components/table/table-actions/TableHeaderActions.d.ts.map +1 -0
- package/dist/esm/components/table/table-actions/TableHeaderActions.js +43 -0
- package/dist/esm/components/table/table-actions/TableHeaderActions.js.map +1 -0
- package/dist/esm/components/table/table-actions/index.d.ts +3 -0
- package/dist/esm/components/table/table-actions/index.d.ts.map +1 -0
- package/dist/esm/components/table/table-actions/index.js +4 -0
- package/dist/esm/components/table/table-actions/index.js.map +1 -0
- package/dist/esm/components/table/table-column/TableActionsColumn.d.ts +6 -0
- package/dist/esm/components/table/table-column/TableActionsColumn.d.ts.map +1 -0
- package/dist/esm/components/table/table-column/TableActionsColumn.js +40 -0
- package/dist/esm/components/table/table-column/TableActionsColumn.js.map +1 -0
- package/dist/esm/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -1
- package/dist/esm/components/table/table-column/TableCollapsibleColumn.js +7 -3
- package/dist/esm/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
- package/dist/esm/components/table/table-column/TableSelectableColumn.d.ts.map +1 -1
- package/dist/esm/components/table/table-column/TableSelectableColumn.js +4 -0
- package/dist/esm/components/table/table-column/TableSelectableColumn.js.map +1 -1
- package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.d.ts +7 -12
- package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
- package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js +22 -20
- package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts +1 -2
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js +8 -8
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
- package/dist/esm/components/table/table-filter/TableFilter.d.ts +1 -2
- package/dist/esm/components/table/table-filter/TableFilter.d.ts.map +1 -1
- package/dist/esm/components/table/table-filter/TableFilter.js +14 -18
- package/dist/esm/components/table/table-filter/TableFilter.js.map +1 -1
- package/dist/esm/components/table/table-header/TableHeader.d.ts +7 -2
- package/dist/esm/components/table/table-header/TableHeader.d.ts.map +1 -1
- package/dist/esm/components/table/table-header/TableHeader.js +15 -13
- package/dist/esm/components/table/table-header/TableHeader.js.map +1 -1
- package/dist/esm/components/table/table-header/Th.d.ts +1 -2
- package/dist/esm/components/table/table-header/Th.d.ts.map +1 -1
- package/dist/esm/components/table/table-header/Th.js +8 -4
- package/dist/esm/components/table/table-header/Th.js.map +1 -1
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts +1 -3
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -1
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.js +6 -8
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
- package/dist/esm/components/table/table-no-data/TableNoData.d.ts +6 -0
- package/dist/esm/components/table/table-no-data/TableNoData.d.ts.map +1 -0
- package/dist/esm/components/table/table-no-data/TableNoData.js +6 -0
- package/dist/esm/components/table/table-no-data/TableNoData.js.map +1 -0
- package/dist/esm/components/table/table-pagination/TablePagination.d.ts.map +1 -1
- package/dist/esm/components/table/table-pagination/TablePagination.js +10 -13
- package/dist/esm/components/table/table-pagination/TablePagination.js.map +1 -1
- package/dist/esm/components/table/table-pagination/TablePagination.types.d.ts +0 -4
- package/dist/esm/components/table/table-pagination/TablePagination.types.d.ts.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.d.ts.map +1 -1
- package/dist/esm/components/table/table-per-page/TablePerPage.js +13 -12
- package/dist/esm/components/table/table-per-page/TablePerPage.js.map +1 -1
- package/dist/esm/components/table/table-predicate/TablePredicate.d.ts +1 -2
- package/dist/esm/components/table/table-predicate/TablePredicate.d.ts.map +1 -1
- package/dist/esm/components/table/table-predicate/TablePredicate.js +14 -18
- package/dist/esm/components/table/table-predicate/TablePredicate.js.map +1 -1
- package/dist/esm/components/table/use-table.d.ts +182 -0
- package/dist/esm/components/table/use-table.d.ts.map +1 -0
- package/dist/esm/components/table/use-table.js +122 -0
- package/dist/esm/components/table/use-table.js.map +1 -0
- package/dist/esm/hooks/useControlledList.d.ts.map +1 -1
- package/dist/esm/index.d.ts +11 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/theme/Theme.d.ts.map +1 -1
- package/dist/esm/theme/Theme.js +1 -8
- package/dist/esm/theme/Theme.js.map +1 -1
- package/dist/esm/utils/createFactoryComponent.d.ts.map +1 -1
- package/dist/esm/utils/overrideComponent.d.ts.map +1 -1
- package/package.json +61 -46
- package/src/__tests__/Utils.tsx +3 -1
- package/src/components/button/Button.tsx +3 -1
- package/src/components/button/__tests__/ButtonWithDisabledTooltip.spec.tsx +1 -1
- package/src/components/code-editor/CodeEditor.tsx +1 -7
- package/src/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.tsx +4 -4
- package/src/components/header/__tests__/Header.spec.tsx +21 -22
- package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -15
- package/src/components/inline-confirm/InlineConfirm.tsx +12 -4
- package/src/components/inline-confirm/InlineConfirmPrompt.tsx +6 -9
- package/src/components/inline-confirm/InlineConfirmTarget.tsx +9 -4
- package/src/components/inline-confirm/__tests__/InlineConfirm.spec.tsx +39 -14
- package/src/components/table/Table.module.css +8 -1
- package/src/components/table/Table.tsx +148 -170
- package/src/components/table/Table.types.ts +57 -160
- package/src/components/table/TableContext.tsx +17 -16
- package/src/components/table/__tests__/Table.spec.tsx +176 -200
- package/src/components/table/__tests__/TableActions.spec.tsx +142 -31
- package/src/components/table/__tests__/TableCollapsibleColumn.spec.tsx +88 -0
- package/src/components/table/__tests__/TableColumnsSelector.spec.tsx +164 -123
- package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +13 -17
- package/src/components/table/__tests__/TableFilter.spec.tsx +52 -96
- package/src/components/table/__tests__/TableLastUpdated.spec.tsx +18 -37
- package/src/components/table/__tests__/TablePagination.spec.tsx +84 -100
- package/src/components/table/__tests__/TablePerPage.spec.tsx +81 -104
- package/src/components/table/__tests__/TablePredicate.spec.tsx +26 -80
- package/src/components/table/__tests__/Th.spec.tsx +24 -19
- package/src/components/table/index.ts +3 -9
- package/src/components/table/layouts/TableLayoutControl.tsx +4 -4
- package/src/components/table/layouts/TableLayouts.tsx +0 -22
- package/src/components/table/layouts/__tests__/RowLayout.spec.tsx +210 -182
- package/src/components/table/layouts/row-layout/RowLayout.tsx +2 -2
- package/src/components/table/layouts/row-layout/RowLayoutBody.tsx +17 -17
- package/src/components/table/layouts/row-layout/RowLayoutHeader.tsx +18 -9
- package/src/components/table/layouts/row-layout/RowLayoutIcon.tsx +3 -8
- package/src/components/table/table-actions/TableActionContext.ts +9 -0
- package/src/components/table/table-actions/TableActionItem.tsx +80 -0
- package/src/components/table/table-actions/TableActionsList.tsx +209 -0
- package/src/components/table/table-actions/TableHeaderActions.tsx +56 -0
- package/src/components/table/table-actions/index.ts +2 -0
- package/src/components/table/table-column/TableActionsColumn.tsx +39 -0
- package/src/components/table/table-column/TableCollapsibleColumn.tsx +7 -3
- package/src/components/table/table-column/TableSelectableColumn.tsx +4 -0
- package/src/components/table/table-columns-selector/TableColumnsSelector.tsx +33 -28
- package/src/components/table/table-date-range-picker/TableDateRangePicker.tsx +9 -11
- package/src/components/table/table-filter/TableFilter.tsx +12 -18
- package/src/components/table/table-header/TableHeader.tsx +32 -15
- package/src/components/table/table-header/Th.tsx +8 -7
- package/src/components/table/table-last-updated/TableLastUpdated.tsx +7 -10
- package/src/components/table/table-no-data/TableNoData.tsx +7 -0
- package/src/components/table/table-pagination/TablePagination.tsx +8 -11
- package/src/components/table/table-pagination/TablePagination.types.ts +0 -4
- package/src/components/table/table-per-page/TablePerPage.tsx +8 -10
- package/src/components/table/table-predicate/TablePredicate.tsx +21 -17
- package/src/components/table/use-table.ts +323 -0
- package/src/index.ts +11 -1
- package/src/theme/Theme.tsx +0 -6
- package/dist/cjs/components/table/table-actions/TableActions.d.ts +0 -38
- package/dist/cjs/components/table/table-actions/TableActions.d.ts.map +0 -1
- package/dist/cjs/components/table/table-actions/TableActions.js +0 -47
- package/dist/cjs/components/table/table-actions/TableActions.js.map +0 -1
- package/dist/cjs/components/table/table-consumer/TableConsumer.d.ts +0 -5
- package/dist/cjs/components/table/table-consumer/TableConsumer.d.ts.map +0 -1
- package/dist/cjs/components/table/table-consumer/TableConsumer.js.map +0 -1
- package/dist/cjs/hooks/useRowSelection.d.ts +0 -10
- package/dist/cjs/hooks/useRowSelection.d.ts.map +0 -1
- package/dist/cjs/hooks/useRowSelection.js +0 -80
- package/dist/cjs/hooks/useRowSelection.js.map +0 -1
- package/dist/cjs/styles/Title.module.css +0 -5
- package/dist/esm/components/table/table-actions/TableActions.d.ts +0 -38
- package/dist/esm/components/table/table-actions/TableActions.d.ts.map +0 -1
- package/dist/esm/components/table/table-actions/TableActions.js +0 -29
- package/dist/esm/components/table/table-actions/TableActions.js.map +0 -1
- package/dist/esm/components/table/table-consumer/TableConsumer.d.ts +0 -5
- package/dist/esm/components/table/table-consumer/TableConsumer.d.ts.map +0 -1
- package/dist/esm/components/table/table-consumer/TableConsumer.js +0 -6
- package/dist/esm/components/table/table-consumer/TableConsumer.js.map +0 -1
- package/dist/esm/hooks/useRowSelection.d.ts +0 -10
- package/dist/esm/hooks/useRowSelection.d.ts.map +0 -1
- package/dist/esm/hooks/useRowSelection.js +0 -59
- package/dist/esm/hooks/useRowSelection.js.map +0 -1
- package/dist/esm/styles/Title.module.css +0 -5
- package/src/components/table/table-actions/TableActions.tsx +0 -67
- package/src/components/table/table-consumer/TableConsumer.tsx +0 -3
- package/src/hooks/useRowSelection.ts +0 -76
- package/src/styles/Title.module.css +0 -5
|
@@ -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":["Box","Center","Loader","useProps","useStyles","useForm","useDidUpdate","useMergedRef","defaultColumnSizing","getCoreRowModel","useReactTable","debounce","defaultsDeep","Children","cloneElement","useCallback","useEffect","useState","useRowSelection","identity","TableLayouts","TableActions","TableAccordionColumn","TableCollapsibleColumn","TableSelectableColumn","TableColumnsSelector","TableConsumer","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TableLastUpdated","TableLoading","TablePagination","TablePerPage","TablePredicate","classes","TableContext","TableStylesProvider","defaultProps","layouts","Rows","loading","multiRowSelectionEnabled","initialState","options","Table","props","data","getRowId","noDataChildren","getExpandChildren","columns","onMount","onChange","children","doubleClickAction","disableRowSelection","onRowSelectionChange","additionalRootNodes","ref","style","className","classNames","styles","unstyled","others","getStyles","name","convertedChildren","toArray","header","find","child","type","footer","consumer","lastUpdated","predicates","dateRange","initialStateWithoutForm","form","initialValues","layout","displayName","table","pagination","pageSize","DEFAULT_SIZE","globalFilter","concat","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","defaultColumn","size","minSize","maxSize","getAllColumns","getAllFlatColumns","state","setState","setOptions","prev","onStateChange","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","containerRef","isFiltered","Object","keys","values","some","predicate","triggerChange","cancel","sorting","JSON","stringify","clearFilters","setFieldValue","prevState","flexGrow","Layout","hasRows","getRowModel","rows","length","value","Provider","getPageCount","component","pb","thead","tr","th","padding","colSpan","Header","tbody","Body","td","visible","dependencies","TableComponentsOrder","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","Footer","LastUpdated","Pagination","PerPage","CollapsibleColumn","AccordionColumn","Consumer","Loading","Layouts","extend"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Factory, Loader, useProps, useStyles} from '@mantine/core';\nimport {useClickOutside, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n Row,\n RowSelectionState,\n defaultColumnSizing,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport isEqual from 'fast-deep-equal';\nimport {Children, ForwardedRef, ReactElement, useRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../utils';\nimport classes from './Table.module.css';\nimport {TableLayout, TableProps} from './Table.types';\nimport {TableProvider} from './TableContext';\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActionItem, TableActionItemStylesNames, TableHeaderActionsStylesNames} from './table-actions';\nimport {TableActionsListStylesNames} from './table-actions/TableActionsList';\nimport {TableActionsColumn} from './table-column/TableActionsColumn';\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 {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 {TableNoData} from './table-no-data/TableNoData';\nimport {TablePagination} from './table-pagination/TablePagination';\nimport {TablePerPage} from './table-per-page/TablePerPage';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate';\nimport {TableState} from './use-table';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableHeaderActionsStylesNames\n | TableActionsListStylesNames\n | TableActionItemStylesNames\n | TableCollapsibleColumnStylesNames\n | TableDateRangePickerStylesNames\n | TableFilterStylesNames\n | TableHeaderStylesNames\n | TableThStylesNames\n | TableLastUpdatedStylesNames\n | TablePredicateStylesNames\n | TableColumnsSelectorStylesNames;\n\nexport type PlasmaTableFactory = Factory<{\n props: TableProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableStylesNames;\n staticComponents: {\n AccordionColumn: typeof TableAccordionColumn;\n ActionsColumn: typeof TableActionsColumn;\n ActionItem: typeof TableActionItem;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n ColumnsSelector: typeof TableColumnsSelector;\n DateRangePicker: typeof TableDateRangePicker;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Layouts: typeof TableLayouts;\n Loading: typeof TableLoading;\n NoData: typeof TableNoData;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n layoutProps: {},\n loading: false,\n additionalRootNodes: [],\n options: {},\n getRowActions: () => [],\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n store,\n data,\n getRowId,\n getRowAttributes,\n getRowExpandedContent,\n getRowActions,\n columns,\n layouts,\n layoutProps,\n children,\n loading,\n additionalRootNodes,\n options,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('PlasmaTable', defaultProps as TableProps<T>, props);\n\n const getStyles = useStyles<PlasmaTableFactory>({\n name: 'PlasmaTable',\n classes,\n props: props as TableProps<unknown>,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n const noData = convertedChildren.find((child) => child.type === TableNoData);\n\n const table = useReactTable({\n data,\n state: {\n globalFilter: store.state.globalFilter,\n sorting: store.state.sorting,\n pagination: store.state.pagination,\n columnVisibility: store.state.columnVisibility,\n expanded: store.state.expanded,\n },\n onGlobalFilterChange: store.setGlobalFilter,\n onExpandedChange: store.setExpanded,\n onSortingChange: store.setSorting,\n onPaginationChange: store.setPagination,\n onColumnVisibilityChange: store.setColumnVisibility,\n columns: store.multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!store.multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getRowExpandedContent?.(row.original, row.index, row) ?? false,\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n rowCount: options?.getFilteredRowModel ? undefined : store.state.totalEntries,\n ...options,\n });\n\n table.setOptions((prev) => ({\n ...prev,\n state: {\n ...prev.state,\n rowSelection: store.state.rowSelection as RowSelectionState,\n },\n onRowSelectionChange: (rowSelectionUpdater) => {\n store.setRowSelection((old) => {\n const newRowSelection = (\n rowSelectionUpdater instanceof Function\n ? rowSelectionUpdater(old as RowSelectionState)\n : rowSelectionUpdater\n ) as TableState<T>['rowSelection'];\n\n if (isEqual(old, newRowSelection)) {\n return old;\n }\n\n const rows = table.getRowModel().rowsById;\n\n Object.keys(newRowSelection).forEach((rowId) => {\n if (newRowSelection[rowId] === true) {\n if (!rows[rowId]) {\n console.error(\n 'The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.',\n );\n }\n newRowSelection[rowId] = rows[rowId]?.original ?? (true as T);\n }\n });\n\n return newRowSelection;\n });\n },\n }));\n\n const containerRef = useRef<HTMLDivElement>();\n useClickOutside(\n () => {\n if (!store.multiRowSelectionEnabled) {\n store.clearRowSelection();\n }\n },\n null,\n [containerRef.current, ...additionalRootNodes],\n );\n const mergedRef = useMergedRef(containerRef, ref);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout =\n store.state.layout === null ? layouts[0] : layouts.find(({displayName}) => displayName === store.state.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={mergedRef} {...others} {...getStyles('root')}>\n <TableProvider<T> value={{getStyles, getRowActions, store, table, layouts, containerRef}}>\n <Layout>\n {store.isVacant && !store.isFiltered ? (\n noData\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} pb=\"sm\" mod={{loading}}>\n <thead {...getStyles('header')}>\n {!!header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading || !store.isFiltered}>\n {noData}\n </TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated}\n </>\n )}\n </Layout>\n </TableProvider>\n </Box>\n );\n};\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 7,\n Actions: 6,\n Predicate: 5,\n Filter: 4,\n DateRangePicker: 3,\n ColumnsSelector: 2,\n LayoutControl: 1,\n};\n\nTable.AccordionColumn = TableAccordionColumn;\nTable.ActionsColumn = TableActionsColumn;\nTable.ActionItem = TableActionItem;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.ColumnsSelector = TableColumnsSelector;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Layouts = TableLayouts;\nTable.Loading = TableLoading;\nTable.NoData = TableNoData;\nTable.Pagination = TablePagination;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Box","Center","Loader","useProps","useStyles","useClickOutside","useMergedRef","defaultColumnSizing","getCoreRowModel","useReactTable","isEqual","Children","useRef","identity","classes","TableProvider","TableLayouts","TableActionItem","TableActionsColumn","TableAccordionColumn","TableCollapsibleColumn","TableSelectableColumn","TableColumnsSelector","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TableLastUpdated","TableLoading","TableNoData","TablePagination","TablePerPage","TablePredicate","defaultProps","layouts","Rows","layoutProps","loading","additionalRootNodes","options","getRowActions","Table","props","store","data","getRowId","getRowAttributes","getRowExpandedContent","columns","children","ref","style","className","classNames","styles","unstyled","others","getStyles","name","convertedChildren","toArray","header","find","child","type","footer","lastUpdated","noData","table","state","globalFilter","sorting","pagination","columnVisibility","expanded","onGlobalFilterChange","setGlobalFilter","onExpandedChange","setExpanded","onSortingChange","setSorting","onPaginationChange","setPagination","onColumnVisibilityChange","setColumnVisibility","multiRowSelectionEnabled","concat","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","index","enableRowSelection","defaultColumn","size","minSize","maxSize","rowCount","getFilteredRowModel","totalEntries","setOptions","prev","rowSelection","onRowSelectionChange","rowSelectionUpdater","setRowSelection","old","newRowSelection","Function","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","containerRef","clearRowSelection","current","mergedRef","flexGrow","Layout","layout","displayName","hasRows","length","value","isVacant","isFiltered","component","pb","mod","thead","tr","th","padding","colSpan","getAllColumns","Header","tbody","Body","td","visible","TableComponentsOrder","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","AccordionColumn","ActionsColumn","ActionItem","CollapsibleColumn","Footer","LastUpdated","Layouts","Loading","NoData","Pagination","PerPage","extend"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -19,8 +19,14 @@
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/* Table.Actions */
|
|
22
|
+
.actionsDropdown {
|
|
23
|
+
text-align: left;
|
|
24
|
+
}
|
|
22
25
|
.actionsGroup {
|
|
23
|
-
|
|
26
|
+
&:has(.actionsGroupItems:empty) {
|
|
27
|
+
/* Hide empty groups */
|
|
28
|
+
display: none;
|
|
29
|
+
}
|
|
24
30
|
}
|
|
25
31
|
|
|
26
32
|
/* Table.Filter */
|
|
@@ -37,6 +43,7 @@
|
|
|
37
43
|
background-color: var(--mantine-color-gray-1);
|
|
38
44
|
padding: var(--mantine-spacing-sm) var(--mantine-spacing-xl);
|
|
39
45
|
position: relative;
|
|
46
|
+
min-height: 69px;
|
|
40
47
|
}
|
|
41
48
|
|
|
42
49
|
.headerGridInner {
|
|
@@ -1,20 +1,10 @@
|
|
|
1
1
|
import { Icon } from '@coveord/plasma-react-icons';
|
|
2
2
|
import { BoxProps, StylesApiProps } from '@mantine/core';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { Dispatch, ReactElement, ReactNode, RefObject } from 'react';
|
|
6
|
-
import { DateRangePickerValue } from '../date-range-picker/DateRangePickerInlineCalendar';
|
|
7
|
-
import { TableLayoutProps } from './layouts/TableLayouts';
|
|
3
|
+
import { ColumnDef, CoreOptions, Row, TableOptions } from '@tanstack/table-core';
|
|
4
|
+
import { ReactElement, ReactNode } from 'react';
|
|
8
5
|
import { type PlasmaTableFactory } from './Table';
|
|
9
|
-
|
|
10
|
-
export
|
|
11
|
-
rowSelection: RowSelectionWithData<TData>;
|
|
12
|
-
}
|
|
13
|
-
export interface TableState<TData> extends Omit<TanstackTableState, 'rowSelection'>, RowSelectionState<TData> {
|
|
14
|
-
}
|
|
15
|
-
export interface InitialTableState<TData> extends Omit<TanstackInitialTableState, 'rowSelection'>, Partial<RowSelectionState<TData>>, Partial<TableFormType> {
|
|
16
|
-
}
|
|
17
|
-
export type onTableChangeEvent<TData> = (params: TableState<TData> & TableFormType) => void;
|
|
6
|
+
import { TableStore } from './use-table';
|
|
7
|
+
export type TableLayoutProps<TData = unknown> = Pick<TableProps<TData>, 'getRowExpandedContent' | 'getRowAttributes' | 'loading'> & TableProps<TData>['layoutProps'];
|
|
18
8
|
export interface TableLayout {
|
|
19
9
|
(props: {
|
|
20
10
|
children: ReactNode;
|
|
@@ -33,111 +23,49 @@ export interface TableLayout {
|
|
|
33
23
|
* Header portion of the table.
|
|
34
24
|
* In the standard row layout that is where column headers would be displayed.
|
|
35
25
|
*/
|
|
36
|
-
Header: <
|
|
26
|
+
Header: <TData>(props: TableLayoutProps<TData>) => ReactElement;
|
|
37
27
|
/**
|
|
38
28
|
* Body portion of the table.
|
|
39
29
|
* In the standard row layout that is where the rows would be displayed.
|
|
40
30
|
*/
|
|
41
|
-
Body: <
|
|
31
|
+
Body: <TData>(props: TableLayoutProps<TData>) => ReactElement;
|
|
42
32
|
}
|
|
43
|
-
export
|
|
44
|
-
|
|
45
|
-
* Object containing the table predicates and their selected values
|
|
46
|
-
*
|
|
47
|
-
* @example {type: "LONG", origin: "system"}
|
|
48
|
-
*/
|
|
49
|
-
predicates: Record<string, string>;
|
|
33
|
+
export interface TableProps<TData> extends BoxProps, StylesApiProps<PlasmaTableFactory> {
|
|
34
|
+
store: TableStore<TData>;
|
|
50
35
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* @example [new Date(2022, 0, 1), new Date(2022, 0, 31)]
|
|
54
|
-
*/
|
|
55
|
-
dateRange: DateRangePickerValue;
|
|
56
|
-
/**
|
|
57
|
-
* Selected layout name
|
|
36
|
+
* Data to display in the table. Use `null` when the table is initially loading.
|
|
58
37
|
*/
|
|
59
|
-
|
|
60
|
-
};
|
|
61
|
-
export type TableContextType<TData> = {
|
|
38
|
+
data: TData[] | null;
|
|
62
39
|
/**
|
|
63
|
-
*
|
|
40
|
+
* Defines how each row is uniquely identified. It is highly recommended that you specify this prop to an ID that makes sense.
|
|
64
41
|
*/
|
|
65
|
-
|
|
42
|
+
getRowId?: CoreOptions<TData>['getRowId'];
|
|
66
43
|
/**
|
|
67
|
-
*
|
|
44
|
+
* Allows to define html attributes that will be passed down to each row.
|
|
68
45
|
*/
|
|
69
|
-
|
|
46
|
+
getRowAttributes?: (datum: TData, index: number, row: Row<TData>) => Record<string, unknown>;
|
|
70
47
|
/**
|
|
71
|
-
*
|
|
48
|
+
* Function that generates the expandable content of a row
|
|
49
|
+
* Return null for rows that don't need to be expandable
|
|
72
50
|
*
|
|
73
|
-
* @
|
|
74
|
-
*/
|
|
75
|
-
state: TableState<TData>;
|
|
76
|
-
/**
|
|
77
|
-
* Function to update the table state
|
|
78
|
-
*/
|
|
79
|
-
setState: Dispatch<(prevState: TableState<TData>) => TableState<TData>>;
|
|
80
|
-
/**
|
|
81
|
-
* Whether the table currently as any kind of filter applied.
|
|
82
|
-
* Useful to determine if the noDataChildren is an empty state or just the result of a filter
|
|
83
|
-
*/
|
|
84
|
-
isFiltered: boolean;
|
|
85
|
-
/**
|
|
86
|
-
* Function that clears the filter and predicates
|
|
87
|
-
*/
|
|
88
|
-
clearFilters: () => void;
|
|
89
|
-
/**
|
|
90
|
-
* Function that returns the selected row if any.
|
|
91
|
-
*/
|
|
92
|
-
getSelectedRow: () => TData | null;
|
|
93
|
-
/**
|
|
94
|
-
* Function that returns an array of the selected rows. Most useful when multi row selection is enabled.
|
|
95
|
-
*/
|
|
96
|
-
getSelectedRows: () => TData[];
|
|
97
|
-
/**
|
|
98
|
-
* Function that clear the selected row
|
|
99
|
-
*/
|
|
100
|
-
clearSelection: () => void;
|
|
101
|
-
/**
|
|
102
|
-
* Form used to handle predicates and dateRange
|
|
103
|
-
*/
|
|
104
|
-
form: UseFormReturnType<TableFormType>;
|
|
105
|
-
/**
|
|
106
|
-
* Table container ref
|
|
107
|
-
*/
|
|
108
|
-
containerRef: RefObject<HTMLDivElement>;
|
|
109
|
-
/**
|
|
110
|
-
* Whether multi row selection is activated
|
|
111
|
-
*/
|
|
112
|
-
multiRowSelectionEnabled: boolean;
|
|
113
|
-
/**
|
|
114
|
-
* Whether row selection is enabled or not
|
|
115
|
-
*/
|
|
116
|
-
disableRowSelection: boolean;
|
|
117
|
-
/**
|
|
118
|
-
* Function that returns the number of pages
|
|
119
|
-
*/
|
|
120
|
-
getPageCount: () => number;
|
|
121
|
-
/**
|
|
122
|
-
* Available layouts. When more than one layout is provided, it will display a layout control to switch between them.
|
|
123
|
-
*/
|
|
124
|
-
layouts: TableLayout[];
|
|
125
|
-
};
|
|
126
|
-
export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFactory> {
|
|
127
|
-
/**
|
|
128
|
-
* Data to display in the table. Use `null` when the table is initially loading.
|
|
51
|
+
* @param datum the row for which the children should be generated.
|
|
129
52
|
*/
|
|
130
|
-
|
|
53
|
+
getRowExpandedContent?: (datum: TData, index: number, row: Row<TData>) => ReactNode;
|
|
131
54
|
/**
|
|
132
|
-
*
|
|
55
|
+
* Function that generates the actions for the selected rows
|
|
56
|
+
* If the table doesn't support multi selection, access the data[0]
|
|
57
|
+
* Return an empty array for rows that don't have actions
|
|
58
|
+
*
|
|
59
|
+
* @param datum the row for which the children should be generated.
|
|
60
|
+
* @default []
|
|
133
61
|
*/
|
|
134
|
-
|
|
62
|
+
getRowActions?: (data: TData[]) => TableAction[];
|
|
135
63
|
/**
|
|
136
64
|
* Columns to display in the table.
|
|
137
65
|
*
|
|
138
66
|
* @see https://tanstack.com/table/v8/docs/guide/column-defs
|
|
139
67
|
*/
|
|
140
|
-
columns: Array<ColumnDef<
|
|
68
|
+
columns: Array<ColumnDef<TData>>;
|
|
141
69
|
/**
|
|
142
70
|
* Available layouts
|
|
143
71
|
*
|
|
@@ -145,28 +73,18 @@ export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFacto
|
|
|
145
73
|
*/
|
|
146
74
|
layouts?: TableLayout[];
|
|
147
75
|
/**
|
|
148
|
-
*
|
|
149
|
-
*
|
|
150
|
-
* @param state the state of the table
|
|
151
|
-
*/
|
|
152
|
-
onMount?: onTableChangeEvent<T>;
|
|
153
|
-
/**
|
|
154
|
-
* Function called when the table should update
|
|
155
|
-
*
|
|
156
|
-
* @param state the state of the table
|
|
76
|
+
* Props passed down to the active layout Header and Body components
|
|
157
77
|
*/
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
*/
|
|
169
|
-
noDataChildren?: ReactNode;
|
|
78
|
+
layoutProps?: {
|
|
79
|
+
/**
|
|
80
|
+
* Called by the table layout when a row is double clicked.
|
|
81
|
+
* @param selectedRow The data of the row that was double clicked
|
|
82
|
+
* @param index The index of the row that was double clicked
|
|
83
|
+
* @param row The row object that was double clicked
|
|
84
|
+
* @returns
|
|
85
|
+
*/
|
|
86
|
+
onRowDoubleClick?: (selectedRow: TData, index: number, row: Row<TData>) => void;
|
|
87
|
+
} & Record<string, any>;
|
|
170
88
|
/**
|
|
171
89
|
* Whether the table is loading or not
|
|
172
90
|
*
|
|
@@ -174,7 +92,7 @@ export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFacto
|
|
|
174
92
|
*/
|
|
175
93
|
loading?: boolean;
|
|
176
94
|
/**
|
|
177
|
-
*
|
|
95
|
+
* Children to display in the table. They need to be wrap in either `Table.Header` or `Table.Footer`
|
|
178
96
|
*
|
|
179
97
|
* @example
|
|
180
98
|
* <Table ...>
|
|
@@ -184,32 +102,6 @@ export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFacto
|
|
|
184
102
|
* </Table>
|
|
185
103
|
*/
|
|
186
104
|
children?: ReactNode;
|
|
187
|
-
/**
|
|
188
|
-
* Initial state of the table
|
|
189
|
-
*/
|
|
190
|
-
initialState?: InitialTableState<T>;
|
|
191
|
-
/**
|
|
192
|
-
* Action passed when user double clicks on a row
|
|
193
|
-
*/
|
|
194
|
-
doubleClickAction?: (datum: T) => void;
|
|
195
|
-
/**
|
|
196
|
-
* Function called whenever the row selection changes
|
|
197
|
-
*
|
|
198
|
-
* @param selectedRows The selected rows
|
|
199
|
-
*/
|
|
200
|
-
onRowSelectionChange?: (selectedRows: T[]) => void;
|
|
201
|
-
/**
|
|
202
|
-
* Whether the user can select multiple rows in order to perform actions in bulk
|
|
203
|
-
*
|
|
204
|
-
* @default false
|
|
205
|
-
*/
|
|
206
|
-
multiRowSelectionEnabled?: boolean;
|
|
207
|
-
/**
|
|
208
|
-
* Whether row selection is enabled or not
|
|
209
|
-
*
|
|
210
|
-
* @default false
|
|
211
|
-
*/
|
|
212
|
-
disableRowSelection?: boolean;
|
|
213
105
|
/**
|
|
214
106
|
* Nodes that are considered inside the table.
|
|
215
107
|
*
|
|
@@ -222,6 +114,19 @@ export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFacto
|
|
|
222
114
|
/**
|
|
223
115
|
* Additional options that can be passed to the table
|
|
224
116
|
*/
|
|
225
|
-
options?: Omit<Partial<TableOptions<
|
|
117
|
+
options?: Omit<Partial<TableOptions<TData>>, 'initialState' | 'data' | 'columns' | 'manualPagination' | 'enableMultiRowSelection' | 'getRowId' | 'getRowCanExpand' | 'enableRowSelection' | 'onRowSelectionChange'>;
|
|
118
|
+
}
|
|
119
|
+
export interface TableAction {
|
|
120
|
+
/**
|
|
121
|
+
* Group to which the action belongs
|
|
122
|
+
* $$primary is reserved for primary actions
|
|
123
|
+
* $$confirmPrompt is reserved for InlineConfirm.Prompt, it will hide other actions when prompt is opened
|
|
124
|
+
* other string will be considered secondary custom group
|
|
125
|
+
*/
|
|
126
|
+
group: '$$primary' | '$$confirmPrompt' | (string & {});
|
|
127
|
+
/**
|
|
128
|
+
* Component to render, should be either `Table.PrimaryAction` or `Table.SecondaryAction`
|
|
129
|
+
*/
|
|
130
|
+
component: ReactNode;
|
|
226
131
|
}
|
|
227
132
|
//# sourceMappingURL=Table.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/Table.types.ts"],"sourcesContent":["import {Icon} from '@coveord/plasma-react-icons';\nimport {BoxProps, StylesApiProps} from '@mantine/core';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/Table.types.ts"],"sourcesContent":["import {Icon} from '@coveord/plasma-react-icons';\nimport {BoxProps, StylesApiProps} from '@mantine/core';\nimport {ColumnDef, CoreOptions, Row, TableOptions} from '@tanstack/table-core';\nimport {ReactElement, ReactNode} from 'react';\n\nimport {type PlasmaTableFactory} from './Table';\nimport {TableStore} from './use-table';\n\nexport type TableLayoutProps<TData = unknown> = Pick<\n TableProps<TData>,\n 'getRowExpandedContent' | 'getRowAttributes' | 'loading'\n> &\n TableProps<TData>['layoutProps'];\n\nexport interface TableLayout {\n (props: {children: ReactNode}): ReactElement;\n /**\n * Name of the layout.\n * Will be displayed in the layout control\n */\n displayName: string;\n /**\n * Icon illustrating the layout.\n * Will be displayed in the layout control\n */\n Icon?: Icon;\n /**\n * Header portion of the table.\n * In the standard row layout that is where column headers would be displayed.\n */\n Header: <TData>(props: TableLayoutProps<TData>) => ReactElement;\n /**\n * Body portion of the table.\n * In the standard row layout that is where the rows would be displayed.\n */\n Body: <TData>(props: TableLayoutProps<TData>) => ReactElement;\n}\n\nexport interface TableProps<TData> extends BoxProps, StylesApiProps<PlasmaTableFactory> {\n store: TableStore<TData>;\n /**\n * Data to display in the table. Use `null` when the table is initially loading.\n */\n data: TData[] | null;\n /**\n * Defines how each row is uniquely identified. It is highly recommended that you specify this prop to an ID that makes sense.\n */\n getRowId?: CoreOptions<TData>['getRowId'];\n /**\n * Allows to define html attributes that will be passed down to each row.\n */\n getRowAttributes?: (datum: TData, index: number, row: Row<TData>) => Record<string, unknown>;\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 getRowExpandedContent?: (datum: TData, index: number, row: Row<TData>) => ReactNode;\n /**\n * Function that generates the actions for the selected rows\n * If the table doesn't support multi selection, access the data[0]\n * Return an empty array for rows that don't have actions\n *\n * @param datum the row for which the children should be generated.\n * @default []\n */\n getRowActions?: (data: TData[]) => TableAction[];\n /**\n * Columns to display in the table.\n *\n * @see https://tanstack.com/table/v8/docs/guide/column-defs\n */\n columns: Array<ColumnDef<TData>>;\n /**\n * Available layouts\n *\n * @default [Table.Layouts.Rows]\n */\n layouts?: TableLayout[];\n /**\n * Props passed down to the active layout Header and Body components\n */\n layoutProps?: {\n /**\n * Called by the table layout when a row is double clicked.\n * @param selectedRow The data of the row that was double clicked\n * @param index The index of the row that was double clicked\n * @param row The row object that was double clicked\n * @returns\n */\n onRowDoubleClick?: (selectedRow: TData, index: number, row: Row<TData>) => void;\n } & Record<string, any>;\n /**\n * Whether the table is loading or not\n *\n * @default false\n */\n loading?: boolean;\n /**\n * Children to display in the table. They need to be wrap in either `Table.Header` or `Table.Footer`\n *\n * @example\n * <Table ...>\n * <Table.Header>\n * <div>Hello</div>\n * </Table.Header>\n * </Table>\n */\n children?: ReactNode;\n /**\n * Nodes that are considered inside the table.\n *\n * Rows normally get unselected when clicking outside the table, but sometimes it has difficulties guessing what is inside or outside, for example when using modals.\n * You can use this prop to force the table to consider some nodes to be inside the table.\n *\n * @see https://mantine.dev/hooks/use-click-outside/#multiple-nodes\n */\n additionalRootNodes?: HTMLElement[];\n /**\n * Additional options that can be passed to the table\n */\n options?: Omit<\n Partial<TableOptions<TData>>,\n | 'initialState'\n | 'data'\n | 'columns'\n | 'manualPagination'\n | 'enableMultiRowSelection'\n | 'getRowId'\n | 'getRowCanExpand'\n | 'enableRowSelection'\n | 'onRowSelectionChange'\n >;\n}\n\nexport interface TableAction {\n /**\n * Group to which the action belongs\n * $$primary is reserved for primary actions\n * $$confirmPrompt is reserved for InlineConfirm.Prompt, it will hide other actions when prompt is opened\n * other string will be considered secondary custom group\n */\n group: '$$primary' | '$$confirmPrompt' | (string & {});\n /**\n * Component to render, should be either `Table.PrimaryAction` or `Table.SecondaryAction`\n */\n component: ReactNode;\n}\n"],"names":[],"rangeMappings":"","mappings":"AAwIA,WAYC"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { GetStylesApi } from '@mantine/core';
|
|
2
|
+
import { Table } from '@tanstack/table-core';
|
|
3
|
+
import { MutableRefObject, ReactElement } from 'react';
|
|
3
4
|
import { type PlasmaTableFactory } from './Table';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
interface TableStyleContextType {
|
|
5
|
+
import { TableAction, TableLayout } from './Table.types';
|
|
6
|
+
import { TableStore } from './use-table';
|
|
7
|
+
export interface TableContextValue<TData = unknown> {
|
|
8
8
|
getStyles: GetStylesApi<PlasmaTableFactory>;
|
|
9
|
+
store: TableStore<TData>;
|
|
10
|
+
layouts: TableLayout[];
|
|
11
|
+
getRowActions: (datum: TData[]) => TableAction[];
|
|
12
|
+
table: Table<TData>;
|
|
13
|
+
containerRef: MutableRefObject<HTMLDivElement>;
|
|
9
14
|
}
|
|
10
|
-
export
|
|
11
|
-
value:
|
|
12
|
-
children:
|
|
13
|
-
}
|
|
14
|
-
export
|
|
15
|
+
export interface TableProviderProps<T> {
|
|
16
|
+
value: TableContextValue<T>;
|
|
17
|
+
children: JSX.Element;
|
|
18
|
+
}
|
|
19
|
+
export declare const TableProvider: <TData>(props: TableProviderProps<TData>) => ReactElement, useTableContext: <TData>() => TableContextValue<TData>;
|
|
15
20
|
//# sourceMappingURL=TableContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableContext.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableContext.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableContext.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAC,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,OAAO,CAAC;AACrD,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAChD,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,iBAAiB,CAAC,KAAK,GAAG,OAAO;IAC9C,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAC5C,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,CAAC;IACjD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,YAAY,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACzB;AAED,eAAO,MAAO,aAAa,iBAEN,mBAAmB,KAAK,CAAC,KAAK,YAAY,EAFlC,eAAe,eAEkC,kBAAkB,KAAK,CAAE,CAAC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
import { createSafeContext } from '@mantine/core';
|
|
2
|
-
|
|
3
|
-
export const TableContext = /*#__PURE__*/ createContext(null);
|
|
4
|
-
export const useTable = ()=>{
|
|
5
|
-
const ctx = useContext(TableContext);
|
|
6
|
-
if (ctx === null) {
|
|
7
|
-
throw new Error('useTable must be used inside of a TableContext.Provider');
|
|
8
|
-
}
|
|
9
|
-
return ctx;
|
|
10
|
-
};
|
|
11
|
-
export const [TableStylesProvider, useTableStyles] = createSafeContext('Table component was not found in the tree');
|
|
2
|
+
export const [TableProvider, useTableContext] = createSafeContext('Table component was not found in the tree');
|
|
12
3
|
|
|
13
4
|
//# sourceMappingURL=TableContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/TableContext.tsx"],"sourcesContent":["import {createSafeContext, GetStylesApi} from '@mantine/core';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/TableContext.tsx"],"sourcesContent":["import {createSafeContext, GetStylesApi} from '@mantine/core';\nimport {Table} from '@tanstack/table-core';\nimport {MutableRefObject, ReactElement} from 'react';\nimport {type PlasmaTableFactory} from './Table';\nimport {TableAction, TableLayout} from './Table.types';\nimport {TableStore} from './use-table';\n\nexport interface TableContextValue<TData = unknown> {\n getStyles: GetStylesApi<PlasmaTableFactory>;\n store: TableStore<TData>;\n layouts: TableLayout[];\n getRowActions: (datum: TData[]) => TableAction[];\n table: Table<TData>;\n containerRef: MutableRefObject<HTMLDivElement>;\n}\n\nexport interface TableProviderProps<T> {\n value: TableContextValue<T>;\n children: JSX.Element;\n}\n\nexport const [TableProvider, useTableContext] = createSafeContext<TableContextValue>(\n 'Table component was not found in the tree',\n) as [<TData>(props: TableProviderProps<TData>) => ReactElement, <TData>() => TableContextValue<TData>];\n"],"names":["createSafeContext","TableProvider","useTableContext"],"rangeMappings":";","mappings":"AAAA,SAAQA,iBAAiB,QAAqB,gBAAgB;AAqB9D,OAAO,MAAM,CAACC,eAAeC,gBAAgB,GAAGF,kBAC5C,6CACoG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { flexRender as renderTableCell } from '@tanstack/react-table';
|
|
2
2
|
export * from './Table';
|
|
3
|
-
export { type
|
|
4
|
-
export { useTable } from './
|
|
5
|
-
export {
|
|
3
|
+
export { type TableLayout, type TableProps, type TableLayoutProps, type TableAction } from './Table.types';
|
|
4
|
+
export { useTable, type TableState, type TableStore, type UseTableOptions } from './use-table';
|
|
5
|
+
export { useTableContext } from './TableContext';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,IAAI,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACpE,cAAc,SAAS,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,IAAI,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACpE,cAAc,SAAS,CAAC;AACxB,OAAO,EAAC,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAC,MAAM,eAAe,CAAC;AACzG,OAAO,EAAC,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAC,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { flexRender as renderTableCell } from '@tanstack/react-table';
|
|
2
2
|
export * from './Table';
|
|
3
|
-
export { useTable } from './
|
|
3
|
+
export { useTable } from './use-table';
|
|
4
|
+
export { useTableContext } from './TableContext';
|
|
4
5
|
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export {flexRender as renderTableCell} from '@tanstack/react-table';\nexport * from './Table';\nexport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export {flexRender as renderTableCell} from '@tanstack/react-table';\nexport * from './Table';\nexport {type TableLayout, type TableProps, type TableLayoutProps, type TableAction} from './Table.types';\nexport {useTable, type TableState, type TableStore, type UseTableOptions} from './use-table';\nexport {useTableContext} from './TableContext';\n"],"names":["flexRender","renderTableCell","useTable","useTableContext"],"rangeMappings":";;;","mappings":"AAAA,SAAQA,cAAcC,eAAe,QAAO,wBAAwB;AACpE,cAAc,UAAU;AAExB,SAAQC,QAAQ,QAA+D,cAAc;AAC7F,SAAQC,eAAe,QAAO,iBAAiB"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Center, Grid, SegmentedControl, Space } from '@mantine/core';
|
|
3
3
|
import { TableComponentsOrder } from '../Table';
|
|
4
|
-
import {
|
|
4
|
+
import { useTableContext } from '../TableContext';
|
|
5
5
|
export const TableLayoutControl = ()=>{
|
|
6
|
-
const {
|
|
6
|
+
const { layouts, store } = useTableContext();
|
|
7
7
|
return layouts.length > 1 ? /*#__PURE__*/ _jsx(Grid.Col, {
|
|
8
8
|
order: TableComponentsOrder.LayoutControl,
|
|
9
9
|
span: "content",
|
|
10
10
|
children: /*#__PURE__*/ _jsx(SegmentedControl, {
|
|
11
|
-
color: "action",
|
|
12
11
|
data: layouts.map(({ displayName, Icon })=>({
|
|
13
12
|
value: displayName,
|
|
14
13
|
label: /*#__PURE__*/ _jsxs(Center, {
|
|
@@ -29,7 +28,8 @@ export const TableLayoutControl = ()=>{
|
|
|
29
28
|
]
|
|
30
29
|
})
|
|
31
30
|
})),
|
|
32
|
-
|
|
31
|
+
value: store.state.layout === null ? layouts[0].displayName : store.state.layout,
|
|
32
|
+
onChange: store.setLayout
|
|
33
33
|
})
|
|
34
34
|
}) : null;
|
|
35
35
|
};
|
|
@@ -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 {
|
|
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 {useTableContext} from '../TableContext';\n\nexport const TableLayoutControl = () => {\n const {layouts, store} = useTableContext();\n return layouts.length > 1 ? (\n <Grid.Col order={TableComponentsOrder.LayoutControl} span=\"content\">\n <SegmentedControl\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 value={store.state.layout === null ? layouts[0].displayName : store.state.layout}\n onChange={store.setLayout}\n />\n </Grid.Col>\n ) : null;\n};\n"],"names":["Box","Center","Grid","SegmentedControl","Space","TableComponentsOrder","useTableContext","TableLayoutControl","layouts","store","length","Col","order","LayoutControl","span","data","map","displayName","Icon","value","label","height","w","state","layout","onChange","setLayout"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAQA,GAAG,EAAEC,MAAM,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,KAAK,QAAO,gBAAgB;AACzE,SAAQC,oBAAoB,QAAO,WAAW;AAC9C,SAAQC,eAAe,QAAO,kBAAkB;AAEhD,OAAO,MAAMC,qBAAqB;IAC9B,MAAM,EAACC,OAAO,EAAEC,KAAK,EAAC,GAAGH;IACzB,OAAOE,QAAQE,MAAM,GAAG,kBACpB,KAACR,KAAKS,GAAG;QAACC,OAAOP,qBAAqBQ,aAAa;QAAEC,MAAK;kBACtD,cAAA,KAACX;YACGY,MAAMP,QAAQQ,GAAG,CAAC,CAAC,EAACC,WAAW,EAAEC,IAAI,EAAC,GAAM,CAAA;oBACxCC,OAAOF;oBACPG,qBACI,MAACnB;;4BACIiB,qBACG;;kDACI,KAACA;wCAAKG,QAAQ;;kDACd,KAACjB;wCAAMkB,GAAE;;;iCAEb;0CACJ,KAACtB;0CAAKiB;;;;gBAGlB,CAAA;YACAE,OAAOV,MAAMc,KAAK,CAACC,MAAM,KAAK,OAAOhB,OAAO,CAAC,EAAE,CAACS,WAAW,GAAGR,MAAMc,KAAK,CAACC,MAAM;YAChFC,UAAUhB,MAAMiB,SAAS;;SAGjC;AACR,EAAE"}
|