@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":["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
|
+
{"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":["Table","TableComponentsOrder","defaultProps","layouts","TableLayouts","Rows","layoutProps","loading","additionalRootNodes","options","getRowActions","props","useProps","store","data","getRowId","getRowAttributes","getRowExpandedContent","columns","children","ref","style","className","classNames","styles","unstyled","others","getStyles","useStyles","name","classes","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","lastUpdated","TableLastUpdated","noData","TableNoData","table","useReactTable","state","globalFilter","sorting","pagination","columnVisibility","expanded","onGlobalFilterChange","setGlobalFilter","onExpandedChange","setExpanded","onSortingChange","setSorting","onPaginationChange","setPagination","onColumnVisibilityChange","setColumnVisibility","multiRowSelectionEnabled","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","index","enableRowSelection","defaultColumn","size","minSize","defaultColumnSizing","maxSize","rowCount","getFilteredRowModel","totalEntries","setOptions","prev","rowSelection","onRowSelectionChange","rowSelectionUpdater","setRowSelection","old","newRowSelection","Function","isEqual","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","containerRef","useRef","useClickOutside","clearRowSelection","current","mergedRef","useMergedRef","Center","flexGrow","Loader","Layout","layout","displayName","hasRows","length","Box","TableProvider","value","isVacant","isFiltered","component","pb","mod","thead","tr","th","padding","colSpan","getAllColumns","Header","tbody","Body","td","TableLoading","visible","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","AccordionColumn","TableAccordionColumn","ActionsColumn","TableActionsColumn","ActionItem","TableActionItem","CollapsibleColumn","TableCollapsibleColumn","TableColumnsSelector","TableDateRangePicker","TableFilter","Footer","LastUpdated","Layouts","Loading","NoData","Pagination","TablePagination","PerPage","TablePerPage","TablePredicate","extend","identity"],"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,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"}
|
|
@@ -9,31 +9,16 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
|
|
13
|
-
return
|
|
12
|
+
TableProvider: function() {
|
|
13
|
+
return TableProvider;
|
|
14
14
|
},
|
|
15
|
-
|
|
16
|
-
return
|
|
17
|
-
},
|
|
18
|
-
useTable: function() {
|
|
19
|
-
return useTable;
|
|
20
|
-
},
|
|
21
|
-
useTableStyles: function() {
|
|
22
|
-
return useTableStyles;
|
|
15
|
+
useTableContext: function() {
|
|
16
|
+
return useTableContext;
|
|
23
17
|
}
|
|
24
18
|
});
|
|
25
19
|
var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
|
|
26
20
|
var _core = require("@mantine/core");
|
|
27
|
-
var _react = require("react");
|
|
28
|
-
var TableContext = /*#__PURE__*/ (0, _react.createContext)(null);
|
|
29
|
-
var useTable = function() {
|
|
30
|
-
var ctx = (0, _react.useContext)(TableContext);
|
|
31
|
-
if (ctx === null) {
|
|
32
|
-
throw new Error('useTable must be used inside of a TableContext.Provider');
|
|
33
|
-
}
|
|
34
|
-
return ctx;
|
|
35
|
-
};
|
|
36
21
|
var _createSafeContext = _sliced_to_array._((0, _core.createSafeContext)('Table component was not found in the tree'), 2);
|
|
37
|
-
var
|
|
22
|
+
var TableProvider = _createSafeContext[0], useTableContext = _createSafeContext[1];
|
|
38
23
|
|
|
39
24
|
//# 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":["TableProvider","useTableContext","createSafeContext"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAqBcA,aAAa;eAAbA;;IAAeC,eAAe;eAAfA;;;;oBArBiB;IAqBEC,wCAAAA,IAAAA,uBAAiB,EAC7D;AADG,IAAOF,gBAAkCE,uBAAnBD,kBAAmBC"}
|
|
@@ -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"}
|
|
@@ -13,12 +13,16 @@ _export(exports, {
|
|
|
13
13
|
return _reacttable.flexRender;
|
|
14
14
|
},
|
|
15
15
|
useTable: function() {
|
|
16
|
-
return
|
|
16
|
+
return _usetable.useTable;
|
|
17
|
+
},
|
|
18
|
+
useTableContext: function() {
|
|
19
|
+
return _TableContext.useTableContext;
|
|
17
20
|
}
|
|
18
21
|
});
|
|
19
22
|
var _export_star = require("@swc/helpers/_/_export_star");
|
|
20
23
|
var _reacttable = require("@tanstack/react-table");
|
|
21
24
|
_export_star._(require("./Table"), exports);
|
|
25
|
+
var _usetable = require("./use-table");
|
|
22
26
|
var _TableContext = require("./TableContext");
|
|
23
27
|
|
|
24
28
|
//# 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":["renderTableCell","flexRender","useTable","useTableContext"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAAsBA,eAAe;eAA7BC,sBAAU;;IAGVC,QAAQ;eAARA,kBAAQ;;IACRC,eAAe;eAAfA,6BAAe;;;;0BAJqB;uBAC9B;wBAEiE;4BACjD"}
|
|
@@ -8,18 +8,16 @@ Object.defineProperty(exports, "TableLayoutControl", {
|
|
|
8
8
|
return TableLayoutControl;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _object_spread = require("@swc/helpers/_/_object_spread");
|
|
12
11
|
var _jsxruntime = require("react/jsx-runtime");
|
|
13
12
|
var _core = require("@mantine/core");
|
|
14
13
|
var _Table = require("../Table");
|
|
15
14
|
var _TableContext = require("../TableContext");
|
|
16
15
|
var TableLayoutControl = function() {
|
|
17
|
-
var
|
|
16
|
+
var _useTableContext = (0, _TableContext.useTableContext)(), layouts = _useTableContext.layouts, store = _useTableContext.store;
|
|
18
17
|
return layouts.length > 1 ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Grid.Col, {
|
|
19
18
|
order: _Table.TableComponentsOrder.LayoutControl,
|
|
20
19
|
span: "content",
|
|
21
|
-
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.SegmentedControl,
|
|
22
|
-
color: "action",
|
|
20
|
+
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.SegmentedControl, {
|
|
23
21
|
data: layouts.map(function(param) {
|
|
24
22
|
var displayName = param.displayName, Icon = param.Icon;
|
|
25
23
|
return {
|
|
@@ -42,8 +40,10 @@ var TableLayoutControl = function() {
|
|
|
42
40
|
]
|
|
43
41
|
})
|
|
44
42
|
};
|
|
45
|
-
})
|
|
46
|
-
|
|
43
|
+
}),
|
|
44
|
+
value: store.state.layout === null ? layouts[0].displayName : store.state.layout,
|
|
45
|
+
onChange: store.setLayout
|
|
46
|
+
})
|
|
47
47
|
}) : null;
|
|
48
48
|
};
|
|
49
49
|
|
|
@@ -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":["TableLayoutControl","useTableContext","layouts","store","length","Grid","Col","order","TableComponentsOrder","LayoutControl","span","SegmentedControl","data","map","displayName","Icon","value","label","Center","height","Space","w","Box","state","layout","onChange","setLayout"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAIaA;;;eAAAA;;;;oBAJ4C;qBACtB;4BACL;AAEvB,IAAMA,qBAAqB;IAC9B,IAAyBC,mBAAAA,IAAAA,6BAAe,KAAjCC,UAAkBD,iBAAlBC,SAASC,QAASF,iBAATE;IAChB,OAAOD,QAAQE,MAAM,GAAG,kBACpB,qBAACC,UAAI,CAACC,GAAG;QAACC,OAAOC,2BAAoB,CAACC,aAAa;QAAEC,MAAK;kBACtD,cAAA,qBAACC,sBAAgB;YACbC,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;;YACAE,OAAOb,MAAMoB,KAAK,CAACC,MAAM,KAAK,OAAOtB,OAAO,CAAC,EAAE,CAACY,WAAW,GAAGX,MAAMoB,KAAK,CAACC,MAAM;YAChFC,UAAUtB,MAAMuB,SAAS;;SAGjC;AACR"}
|