@coveord/plasma-mantine 53.1.4 → 54.0.0
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 +36 -35
- 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/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -5
- 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/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/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/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/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 -1
- package/dist/cjs/theme/Theme.js.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/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -5
- 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/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/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/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/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 +0 -1
- package/dist/esm/theme/Theme.js.map +1 -1
- package/package.json +36 -22
- package/src/__tests__/Utils.tsx +3 -1
- package/src/components/button/Button.tsx +3 -1
- package/src/components/code-editor/CodeEditor.tsx +1 -7
- package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -5
- 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 +37 -12
- 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 +160 -119
- 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 -1
- 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/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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/table/table-per-page/TablePerPage.tsx"],"sourcesContent":["import {Group, SegmentedControl, Text} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/table/table-per-page/TablePerPage.tsx"],"sourcesContent":["import {Group, SegmentedControl, Text} from '@mantine/core';\nimport {FunctionComponent, useMemo} from 'react';\n\nimport {useTableContext} from '../TableContext';\nimport {TablePerPageProps} from './TablePerPage.types';\n\nexport const TablePerPage: FunctionComponent<TablePerPageProps> & {DEFAULT_SIZE: number} = ({\n label = 'Results per page',\n values = [25, 50, 100],\n onPerPageChange,\n}) => {\n const {store, table} = useTableContext();\n const choices = useMemo(() => values.map((value) => value.toString()), [values]);\n\n const updatePerPage = (newPerPage: string) => {\n onPerPageChange?.(Number(newPerPage));\n store.setPagination({pageIndex: 0, pageSize: parseInt(newPerPage, 10)});\n };\n\n return table.getPageCount() > 0 ? (\n <Group gap=\"sm\">\n <Text fw={500}>{label}</Text>\n <SegmentedControl\n value={store.state.pagination.pageSize.toString() ?? choices[1] ?? choices[0]}\n onChange={updatePerPage}\n data={choices}\n size=\"sm\"\n />\n </Group>\n ) : null;\n};\n\nTablePerPage.DEFAULT_SIZE = 50;\n"],"names":["Group","SegmentedControl","Text","useMemo","useTableContext","TablePerPage","label","values","onPerPageChange","store","table","choices","map","value","toString","updatePerPage","newPerPage","Number","setPagination","pageIndex","pageSize","parseInt","getPageCount","gap","fw","state","pagination","onChange","data","size","DEFAULT_SIZE"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAQA,KAAK,EAAEC,gBAAgB,EAAEC,IAAI,QAAO,gBAAgB;AAC5D,SAA2BC,OAAO,QAAO,QAAQ;AAEjD,SAAQC,eAAe,QAAO,kBAAkB;AAGhD,OAAO,MAAMC,eAA8E,CAAC,EACxFC,QAAQ,kBAAkB,EAC1BC,SAAS;IAAC;IAAI;IAAI;CAAI,EACtBC,eAAe,EAClB;IACG,MAAM,EAACC,KAAK,EAAEC,KAAK,EAAC,GAAGN;IACvB,MAAMO,UAAUR,QAAQ,IAAMI,OAAOK,GAAG,CAAC,CAACC,QAAUA,MAAMC,QAAQ,KAAK;QAACP;KAAO;IAE/E,MAAMQ,gBAAgB,CAACC;QACnBR,kBAAkBS,OAAOD;QACzBP,MAAMS,aAAa,CAAC;YAACC,WAAW;YAAGC,UAAUC,SAASL,YAAY;QAAG;IACzE;IAEA,OAAON,MAAMY,YAAY,KAAK,kBAC1B,MAACtB;QAAMuB,KAAI;;0BACP,KAACrB;gBAAKsB,IAAI;0BAAMlB;;0BAChB,KAACL;gBACGY,OAAOJ,MAAMgB,KAAK,CAACC,UAAU,CAACN,QAAQ,CAACN,QAAQ,MAAMH,OAAO,CAAC,EAAE,IAAIA,OAAO,CAAC,EAAE;gBAC7EgB,UAAUZ;gBACVa,MAAMjB;gBACNkB,MAAK;;;SAGb;AACR,EAAE;AAEFxB,aAAayB,YAAY,GAAG"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { BoxProps, ComboboxData, Factory } from '@mantine/core';
|
|
2
|
-
import { CompoundStylesApiProps } from '@mantine/core/lib/core/styles-api/styles-api.types';
|
|
1
|
+
import { BoxProps, ComboboxData, CompoundStylesApiProps, Factory } from '@mantine/core';
|
|
3
2
|
import { FunctionComponent } from 'react';
|
|
4
3
|
export type TablePredicateStylesNames = 'predicate' | 'predicateWrapper' | 'predicateLabel' | 'predicateSelect';
|
|
5
4
|
export interface TablePredicateProps extends BoxProps, CompoundStylesApiProps<TablePredicateFactory> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TablePredicate.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-predicate/TablePredicate.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"TablePredicate.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-predicate/TablePredicate.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,YAAY,EACZ,sBAAsB,EAEtB,OAAO,EAMV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAKxC,MAAM,MAAM,yBAAyB,GAAG,WAAW,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAEhH,MAAM,WAAW,mBAAoB,SAAQ,QAAQ,EAAE,sBAAsB,CAAC,qBAAqB,CAAC;IAChG;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC;IACxC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,yBAAyB,CAAC;IACvC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAIH,eAAO,MAAM,cAAc,EAAE,iBAAiB,CAAC,mBAAmB,CAqChE,CAAC"}
|
|
@@ -1,23 +1,19 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { factory, Grid, Group, Select, Text, useProps } from '@mantine/core';
|
|
3
3
|
import { TableComponentsOrder } from '../Table';
|
|
4
|
-
import {
|
|
4
|
+
import { useTableContext } from '../TableContext';
|
|
5
5
|
const defaultProps = {};
|
|
6
6
|
export const TablePredicate = factory((props, ref)=>{
|
|
7
|
-
const
|
|
7
|
+
const { store, getStyles } = useTableContext();
|
|
8
8
|
const { id, data, label, classNames, className, styles, style, vars, ...others } = useProps('PlasmaTablePredicate', defaultProps, props);
|
|
9
|
-
const { form, setState } = useTable();
|
|
10
9
|
const handleChange = (newValue)=>{
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
...
|
|
17
|
-
|
|
18
|
-
pageIndex: 0,
|
|
19
|
-
pageSize: prevState.pagination.pageSize
|
|
20
|
-
} : prevState.pagination
|
|
10
|
+
store.setPredicates((prev)=>({
|
|
11
|
+
...prev,
|
|
12
|
+
[id]: newValue
|
|
13
|
+
}));
|
|
14
|
+
store.setPagination((prev)=>({
|
|
15
|
+
...prev,
|
|
16
|
+
pageIndex: 0
|
|
21
17
|
}));
|
|
22
18
|
};
|
|
23
19
|
const stylesApiProps = {
|
|
@@ -28,7 +24,7 @@ export const TablePredicate = factory((props, ref)=>{
|
|
|
28
24
|
span: "content",
|
|
29
25
|
order: TableComponentsOrder.Predicate,
|
|
30
26
|
ref: ref,
|
|
31
|
-
...
|
|
27
|
+
...getStyles('predicate', {
|
|
32
28
|
className,
|
|
33
29
|
style,
|
|
34
30
|
...stylesApiProps
|
|
@@ -36,10 +32,10 @@ export const TablePredicate = factory((props, ref)=>{
|
|
|
36
32
|
...others,
|
|
37
33
|
children: /*#__PURE__*/ _jsxs(Group, {
|
|
38
34
|
gap: "xs",
|
|
39
|
-
...
|
|
35
|
+
...getStyles('predicateWrapper', stylesApiProps),
|
|
40
36
|
children: [
|
|
41
37
|
label ? /*#__PURE__*/ _jsxs(Text, {
|
|
42
|
-
...
|
|
38
|
+
...getStyles('predicateLabel', stylesApiProps),
|
|
43
39
|
children: [
|
|
44
40
|
label,
|
|
45
41
|
":"
|
|
@@ -49,12 +45,12 @@ export const TablePredicate = factory((props, ref)=>{
|
|
|
49
45
|
comboboxProps: {
|
|
50
46
|
withinPortal: true
|
|
51
47
|
},
|
|
52
|
-
value:
|
|
48
|
+
value: store.state.predicates[id],
|
|
53
49
|
onChange: handleChange,
|
|
54
50
|
data: data,
|
|
55
51
|
"aria-label": label ?? id,
|
|
56
52
|
searchable: data.length > 7,
|
|
57
|
-
...
|
|
53
|
+
...getStyles('predicateSelect', stylesApiProps)
|
|
58
54
|
})
|
|
59
55
|
]
|
|
60
56
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/table/table-predicate/TablePredicate.tsx"],"sourcesContent":["import {BoxProps
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/table/table-predicate/TablePredicate.tsx"],"sourcesContent":["import {\n BoxProps,\n ComboboxData,\n CompoundStylesApiProps,\n factory,\n Factory,\n Grid,\n Group,\n Select,\n Text,\n useProps,\n} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\n\nexport type TablePredicateStylesNames = 'predicate' | 'predicateWrapper' | 'predicateLabel' | 'predicateSelect';\n\nexport interface TablePredicateProps extends BoxProps, CompoundStylesApiProps<TablePredicateFactory> {\n /**\n * Unique identifier for this predicate. Will be used to access the selected value in the table state\n */\n id: string;\n /**\n * The values to display in the predicate\n */\n data: ComboboxData;\n /**\n * Input label (not displayed for now)\n *\n * @default default to the predicate id\n */\n label?: string;\n}\n\nexport type TablePredicateFactory = Factory<{\n props: TablePredicateProps;\n ref: HTMLDivElement;\n stylesNames: TablePredicateStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TablePredicateProps> = {};\n\nexport const TablePredicate: FunctionComponent<TablePredicateProps> = factory<TablePredicateFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {id, data, label, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTablePredicate',\n defaultProps,\n props,\n );\n\n const handleChange = (newValue: string) => {\n store.setPredicates((prev) => ({...prev, [id]: newValue}));\n store.setPagination((prev) => ({...prev, pageIndex: 0}));\n };\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.Predicate}\n ref={ref}\n {...getStyles('predicate', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Group gap=\"xs\" {...getStyles('predicateWrapper', stylesApiProps)}>\n {label ? <Text {...getStyles('predicateLabel', stylesApiProps)}>{label}:</Text> : null}\n <Select\n comboboxProps={{withinPortal: true}}\n value={store.state.predicates[id]}\n onChange={handleChange}\n data={data}\n aria-label={label ?? id}\n searchable={data.length > 7}\n {...getStyles('predicateSelect', stylesApiProps)}\n />\n </Group>\n </Grid.Col>\n );\n});\n"],"names":["factory","Grid","Group","Select","Text","useProps","TableComponentsOrder","useTableContext","defaultProps","TablePredicate","props","ref","store","getStyles","id","data","label","classNames","className","styles","style","vars","others","handleChange","newValue","setPredicates","prev","setPagination","pageIndex","stylesApiProps","Col","span","order","Predicate","gap","comboboxProps","withinPortal","value","state","predicates","onChange","aria-label","searchable","length"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAIIA,OAAO,EAEPC,IAAI,EACJC,KAAK,EACLC,MAAM,EACNC,IAAI,EACJC,QAAQ,QACL,gBAAgB;AAGvB,SAAQC,oBAAoB,QAAO,WAAW;AAC9C,SAAQC,eAAe,QAAO,kBAAkB;AA4BhD,MAAMC,eAA6C,CAAC;AAEpD,OAAO,MAAMC,iBAAyDT,QAA+B,CAACU,OAAOC;IACzG,MAAM,EAACC,KAAK,EAAEC,SAAS,EAAC,GAAGN;IAC3B,MAAM,EAACO,EAAE,EAAEC,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGC,QAAO,GAAGjB,SAC7E,wBACAG,cACAE;IAGJ,MAAMa,eAAe,CAACC;QAClBZ,MAAMa,aAAa,CAAC,CAACC,OAAU,CAAA;gBAAC,GAAGA,IAAI;gBAAE,CAACZ,GAAG,EAAEU;YAAQ,CAAA;QACvDZ,MAAMe,aAAa,CAAC,CAACD,OAAU,CAAA;gBAAC,GAAGA,IAAI;gBAAEE,WAAW;YAAC,CAAA;IACzD;IAEA,MAAMC,iBAAiB;QAACZ;QAAYE;IAAM;IAE1C,qBACI,KAAClB,KAAK6B,GAAG;QACLC,MAAK;QACLC,OAAO1B,qBAAqB2B,SAAS;QACrCtB,KAAKA;QACJ,GAAGE,UAAU,aAAa;YAACK;YAAWE;YAAO,GAAGS,cAAc;QAAA,EAAE;QAChE,GAAGP,MAAM;kBAEV,cAAA,MAACpB;YAAMgC,KAAI;YAAM,GAAGrB,UAAU,oBAAoBgB,eAAe;;gBAC5Db,sBAAQ,MAACZ;oBAAM,GAAGS,UAAU,kBAAkBgB,eAAe;;wBAAGb;wBAAM;;qBAAW;8BAClF,KAACb;oBACGgC,eAAe;wBAACC,cAAc;oBAAI;oBAClCC,OAAOzB,MAAM0B,KAAK,CAACC,UAAU,CAACzB,GAAG;oBACjC0B,UAAUjB;oBACVR,MAAMA;oBACN0B,cAAYzB,SAASF;oBACrB4B,YAAY3B,KAAK4B,MAAM,GAAG;oBACzB,GAAG9B,UAAU,mBAAmBgB,eAAe;;;;;AAKpE,GAAG"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { type PaginationState, type SortingState, type ExpandedState } from '@tanstack/table-core';
|
|
3
|
+
import { type DateRangePickerValue } from '../date-range-picker';
|
|
4
|
+
type PartialDeep<T> = T extends object ? {
|
|
5
|
+
[P in keyof T]?: PartialDeep<T[P]>;
|
|
6
|
+
} : T;
|
|
7
|
+
export interface TableState<TData = unknown> {
|
|
8
|
+
/**
|
|
9
|
+
* Current pagination state
|
|
10
|
+
*
|
|
11
|
+
* @default { pageIndex: 0, pageSize: 50 }
|
|
12
|
+
*/
|
|
13
|
+
pagination: PaginationState;
|
|
14
|
+
/**
|
|
15
|
+
* Total number of entries in the table.
|
|
16
|
+
* This number is used to calculate the number of pages in the pagination.
|
|
17
|
+
* When null, the number of pages is calculated using the current data length.
|
|
18
|
+
*
|
|
19
|
+
* @default null
|
|
20
|
+
*/
|
|
21
|
+
totalEntries: number | null;
|
|
22
|
+
/**
|
|
23
|
+
* Current sorting state
|
|
24
|
+
*
|
|
25
|
+
* @default []
|
|
26
|
+
*/
|
|
27
|
+
sorting: SortingState;
|
|
28
|
+
/**
|
|
29
|
+
* Current global filter value
|
|
30
|
+
*
|
|
31
|
+
* @default ''
|
|
32
|
+
*/
|
|
33
|
+
globalFilter: string;
|
|
34
|
+
/**
|
|
35
|
+
* Current expanded state
|
|
36
|
+
*
|
|
37
|
+
* @default {}
|
|
38
|
+
*/
|
|
39
|
+
expanded: ExpandedState;
|
|
40
|
+
/**
|
|
41
|
+
* Predicates and their current value
|
|
42
|
+
*
|
|
43
|
+
* @default {}
|
|
44
|
+
*/
|
|
45
|
+
predicates: Record<string, string>;
|
|
46
|
+
/**
|
|
47
|
+
* Layout currently selected. When null, the first layout is used.
|
|
48
|
+
*
|
|
49
|
+
* @default null
|
|
50
|
+
*/
|
|
51
|
+
layout: string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Currently selected date range
|
|
54
|
+
*
|
|
55
|
+
* @default [null, null]
|
|
56
|
+
*/
|
|
57
|
+
dateRange: DateRangePickerValue;
|
|
58
|
+
/**
|
|
59
|
+
* Currently selected rows
|
|
60
|
+
*
|
|
61
|
+
* @default {}
|
|
62
|
+
*/
|
|
63
|
+
rowSelection: Record<string, TData>;
|
|
64
|
+
/**
|
|
65
|
+
* Columns that are currently visible
|
|
66
|
+
*
|
|
67
|
+
* @default {}
|
|
68
|
+
*/
|
|
69
|
+
columnVisibility: Record<string, boolean>;
|
|
70
|
+
}
|
|
71
|
+
export interface TableStore<TData = unknown> {
|
|
72
|
+
/**
|
|
73
|
+
* Current state of the table.
|
|
74
|
+
*/
|
|
75
|
+
state: TableState<TData>;
|
|
76
|
+
/**
|
|
77
|
+
* Allows to change the pagination state.
|
|
78
|
+
*/
|
|
79
|
+
setPagination: React.Dispatch<React.SetStateAction<TableState<TData>['pagination']>>;
|
|
80
|
+
/**
|
|
81
|
+
* Allows to change the total number of entries.
|
|
82
|
+
*/
|
|
83
|
+
setTotalEntries: React.Dispatch<React.SetStateAction<TableState<TData>['totalEntries']>>;
|
|
84
|
+
/**
|
|
85
|
+
* Allows to change the sorting state.
|
|
86
|
+
*/
|
|
87
|
+
setSorting: React.Dispatch<React.SetStateAction<TableState<TData>['sorting']>>;
|
|
88
|
+
/**
|
|
89
|
+
* Allows to change the global filter value.
|
|
90
|
+
*/
|
|
91
|
+
setGlobalFilter: React.Dispatch<React.SetStateAction<TableState<TData>['globalFilter']>>;
|
|
92
|
+
/**
|
|
93
|
+
* Allows to change the rows expanded state.
|
|
94
|
+
*/
|
|
95
|
+
setExpanded: React.Dispatch<React.SetStateAction<TableState<TData>['expanded']>>;
|
|
96
|
+
/**
|
|
97
|
+
* Allows to change the predicates values.
|
|
98
|
+
*/
|
|
99
|
+
setPredicates: React.Dispatch<React.SetStateAction<TableState<TData>['predicates']>>;
|
|
100
|
+
/**
|
|
101
|
+
* Allows to change the selected layout.
|
|
102
|
+
*/
|
|
103
|
+
setLayout: React.Dispatch<React.SetStateAction<TableState<TData>['layout']>>;
|
|
104
|
+
/**
|
|
105
|
+
* Allows to change the selected date range.
|
|
106
|
+
*/
|
|
107
|
+
setDateRange: React.Dispatch<React.SetStateAction<TableState<TData>['dateRange']>>;
|
|
108
|
+
/**
|
|
109
|
+
* Allows to change the current row selection.
|
|
110
|
+
*/
|
|
111
|
+
setRowSelection: React.Dispatch<React.SetStateAction<TableState<TData>['rowSelection']>>;
|
|
112
|
+
/**
|
|
113
|
+
* Allows to change the visible columns.
|
|
114
|
+
*/
|
|
115
|
+
setColumnVisibility: React.Dispatch<React.SetStateAction<TableState<TData>['columnVisibility']>>;
|
|
116
|
+
/**
|
|
117
|
+
* Whether the table is currently filtered.
|
|
118
|
+
*/
|
|
119
|
+
isFiltered: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Whether the table has data when unfiltered.
|
|
122
|
+
*
|
|
123
|
+
* This is derived from the totalEntries so make sure you set that number correctly, even if you're using a client side table.
|
|
124
|
+
*/
|
|
125
|
+
isVacant: boolean;
|
|
126
|
+
/**
|
|
127
|
+
* Clear currently applied filters.
|
|
128
|
+
*/
|
|
129
|
+
clearFilters: () => void;
|
|
130
|
+
/**
|
|
131
|
+
* Deselects all currently selected rows.
|
|
132
|
+
*/
|
|
133
|
+
clearRowSelection: () => void;
|
|
134
|
+
/**
|
|
135
|
+
* Get currently selected rows.
|
|
136
|
+
*/
|
|
137
|
+
getSelectedRows: () => TData[];
|
|
138
|
+
/**
|
|
139
|
+
* Get currently selected row
|
|
140
|
+
*/
|
|
141
|
+
getSelectedRow: () => TData | null;
|
|
142
|
+
/**
|
|
143
|
+
* Whether the user can select multiple rows at the same time.
|
|
144
|
+
*/
|
|
145
|
+
multiRowSelectionEnabled: boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Whether rows can be selected.
|
|
148
|
+
*/
|
|
149
|
+
rowSelectionEnabled: boolean;
|
|
150
|
+
/**
|
|
151
|
+
* Whether row selection is forced.
|
|
152
|
+
*/
|
|
153
|
+
rowSelectionForced: boolean;
|
|
154
|
+
}
|
|
155
|
+
export interface UseTableOptions<TData = unknown> {
|
|
156
|
+
/**
|
|
157
|
+
* Initial state of the table.
|
|
158
|
+
*/
|
|
159
|
+
initialState?: PartialDeep<TableState<TData>>;
|
|
160
|
+
/**
|
|
161
|
+
* Whether rows can be selected.
|
|
162
|
+
*
|
|
163
|
+
* @default true
|
|
164
|
+
*/
|
|
165
|
+
enableRowSelection?: boolean;
|
|
166
|
+
/**
|
|
167
|
+
* Whether multiple rows can be selected at the same time.
|
|
168
|
+
*
|
|
169
|
+
* @default false
|
|
170
|
+
*/
|
|
171
|
+
enableMultiRowSelection?: boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Forces the user to always have one row selected.
|
|
174
|
+
* When activating that setting, a good practice is to have a row already selected in the initial state.
|
|
175
|
+
*
|
|
176
|
+
* @default false
|
|
177
|
+
*/
|
|
178
|
+
forceSelection?: boolean;
|
|
179
|
+
}
|
|
180
|
+
export declare const useTable: <TData>(userOptions?: UseTableOptions<TData>) => TableStore<TData>;
|
|
181
|
+
export {};
|
|
182
|
+
//# sourceMappingURL=use-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/use-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { useDidUpdate } from '@mantine/hooks';
|
|
2
|
+
import defaultsDeep from 'lodash.defaultsdeep';
|
|
3
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
4
|
+
const defaultOptions = {
|
|
5
|
+
enableRowSelection: true,
|
|
6
|
+
enableMultiRowSelection: false,
|
|
7
|
+
forceSelection: false
|
|
8
|
+
};
|
|
9
|
+
const defaultState = {
|
|
10
|
+
pagination: {
|
|
11
|
+
pageIndex: 0,
|
|
12
|
+
pageSize: 50
|
|
13
|
+
},
|
|
14
|
+
totalEntries: null,
|
|
15
|
+
sorting: [],
|
|
16
|
+
globalFilter: '',
|
|
17
|
+
predicates: {},
|
|
18
|
+
layout: null,
|
|
19
|
+
dateRange: [
|
|
20
|
+
null,
|
|
21
|
+
null
|
|
22
|
+
],
|
|
23
|
+
rowSelection: {},
|
|
24
|
+
columnVisibility: {}
|
|
25
|
+
};
|
|
26
|
+
export const useTable = (userOptions = {})=>{
|
|
27
|
+
const options = defaultsDeep({}, userOptions, defaultOptions);
|
|
28
|
+
const initialState = defaultsDeep({}, options.initialState, defaultState);
|
|
29
|
+
const [pagination, setPagination] = useState(initialState.pagination);
|
|
30
|
+
const [totalEntries, _setTotalEntries] = useState(initialState.totalEntries);
|
|
31
|
+
const [unfilteredTotalEntries, setUnfilteredTotalEntries] = useState(initialState.totalEntries);
|
|
32
|
+
const [sorting, setSorting] = useState(initialState.sorting);
|
|
33
|
+
const [globalFilter, setGlobalFilter] = useState(initialState.globalFilter);
|
|
34
|
+
const [expanded, setExpanded] = useState(initialState.expanded);
|
|
35
|
+
const [predicates, setPredicates] = useState(initialState.predicates);
|
|
36
|
+
const [layout, setLayout] = useState(initialState.layout);
|
|
37
|
+
const [dateRange, setDateRange] = useState(initialState.dateRange);
|
|
38
|
+
const [rowSelection, setRowSelection] = useState(initialState.rowSelection);
|
|
39
|
+
const [columnVisibility, setColumnVisibility] = useState(initialState.columnVisibility);
|
|
40
|
+
const isFiltered = !!globalFilter || Object.keys(predicates).some((predicate)=>!!predicates[predicate]) || !!dateRange?.[0] || !!dateRange?.[1];
|
|
41
|
+
const isVacant = unfilteredTotalEntries === 0;
|
|
42
|
+
const setTotalEntries = useCallback((updater)=>{
|
|
43
|
+
_setTotalEntries((old)=>{
|
|
44
|
+
const newTotalEntries = updater instanceof Function ? updater(old) : updater;
|
|
45
|
+
if (!isFiltered) {
|
|
46
|
+
setUnfilteredTotalEntries(newTotalEntries);
|
|
47
|
+
}
|
|
48
|
+
return newTotalEntries;
|
|
49
|
+
});
|
|
50
|
+
}, [
|
|
51
|
+
isFiltered
|
|
52
|
+
]);
|
|
53
|
+
const clearFilters = useCallback(()=>{
|
|
54
|
+
setPredicates(initialState.predicates);
|
|
55
|
+
setGlobalFilter('');
|
|
56
|
+
}, []);
|
|
57
|
+
const clearRowSelection = useCallback(()=>{
|
|
58
|
+
setRowSelection({});
|
|
59
|
+
}, []);
|
|
60
|
+
const getSelectedRows = useCallback(()=>Object.values(rowSelection), [
|
|
61
|
+
rowSelection
|
|
62
|
+
]);
|
|
63
|
+
const getSelectedRow = ()=>getSelectedRows()[0] ?? null;
|
|
64
|
+
useDidUpdate(()=>{
|
|
65
|
+
if (!options.enableMultiRowSelection) {
|
|
66
|
+
clearRowSelection();
|
|
67
|
+
}
|
|
68
|
+
}, [
|
|
69
|
+
globalFilter,
|
|
70
|
+
pagination,
|
|
71
|
+
sorting,
|
|
72
|
+
dateRange,
|
|
73
|
+
predicates
|
|
74
|
+
]);
|
|
75
|
+
const state = useMemo(()=>({
|
|
76
|
+
pagination,
|
|
77
|
+
totalEntries,
|
|
78
|
+
sorting,
|
|
79
|
+
globalFilter,
|
|
80
|
+
expanded,
|
|
81
|
+
predicates,
|
|
82
|
+
layout,
|
|
83
|
+
dateRange,
|
|
84
|
+
rowSelection,
|
|
85
|
+
columnVisibility
|
|
86
|
+
}), [
|
|
87
|
+
pagination,
|
|
88
|
+
totalEntries,
|
|
89
|
+
sorting,
|
|
90
|
+
globalFilter,
|
|
91
|
+
expanded,
|
|
92
|
+
predicates,
|
|
93
|
+
layout,
|
|
94
|
+
dateRange,
|
|
95
|
+
rowSelection,
|
|
96
|
+
columnVisibility
|
|
97
|
+
]);
|
|
98
|
+
return {
|
|
99
|
+
state,
|
|
100
|
+
setPagination,
|
|
101
|
+
setTotalEntries,
|
|
102
|
+
setSorting,
|
|
103
|
+
setGlobalFilter,
|
|
104
|
+
setExpanded,
|
|
105
|
+
setPredicates,
|
|
106
|
+
setLayout,
|
|
107
|
+
setDateRange,
|
|
108
|
+
setRowSelection,
|
|
109
|
+
setColumnVisibility,
|
|
110
|
+
isFiltered,
|
|
111
|
+
isVacant,
|
|
112
|
+
clearFilters,
|
|
113
|
+
clearRowSelection,
|
|
114
|
+
getSelectedRows,
|
|
115
|
+
getSelectedRow,
|
|
116
|
+
rowSelectionEnabled: options.enableRowSelection,
|
|
117
|
+
rowSelectionForced: options.forceSelection,
|
|
118
|
+
multiRowSelectionEnabled: options.enableMultiRowSelection
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
//# sourceMappingURL=use-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/use-table.ts"],"sourcesContent":["import {useDidUpdate} from '@mantine/hooks';\nimport {type PaginationState, type SortingState, type ExpandedState} from '@tanstack/table-core';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {useCallback, useMemo, useState} from 'react';\nimport {type DateRangePickerValue} from '../date-range-picker';\n\n// Create a deeply optional version of another type\ntype PartialDeep<T> = T extends object\n ? {\n [P in keyof T]?: PartialDeep<T[P]>;\n }\n : T;\n\nexport interface TableState<TData = unknown> {\n /**\n * Current pagination state\n *\n * @default { pageIndex: 0, pageSize: 50 }\n */\n pagination: PaginationState;\n /**\n * Total number of entries in the table.\n * This number is used to calculate the number of pages in the pagination.\n * When null, the number of pages is calculated using the current data length.\n *\n * @default null\n */\n totalEntries: number | null;\n /**\n * Current sorting state\n *\n * @default []\n */\n sorting: SortingState;\n /**\n * Current global filter value\n *\n * @default ''\n */\n globalFilter: string;\n\n /**\n * Current expanded state\n *\n * @default {}\n */\n expanded: ExpandedState;\n /**\n * Predicates and their current value\n *\n * @default {}\n */\n predicates: Record<string, string>;\n /**\n * Layout currently selected. When null, the first layout is used.\n *\n * @default null\n */\n layout: string | null;\n /**\n * Currently selected date range\n *\n * @default [null, null]\n */\n dateRange: DateRangePickerValue;\n /**\n * Currently selected rows\n *\n * @default {}\n */\n rowSelection: Record<string, TData>;\n /**\n * Columns that are currently visible\n *\n * @default {}\n */\n columnVisibility: Record<string, boolean>;\n}\n\nexport interface TableStore<TData = unknown> {\n /**\n * Current state of the table.\n */\n state: TableState<TData>;\n /**\n * Allows to change the pagination state.\n */\n setPagination: React.Dispatch<React.SetStateAction<TableState<TData>['pagination']>>;\n /**\n * Allows to change the total number of entries.\n */\n setTotalEntries: React.Dispatch<React.SetStateAction<TableState<TData>['totalEntries']>>;\n /**\n * Allows to change the sorting state.\n */\n setSorting: React.Dispatch<React.SetStateAction<TableState<TData>['sorting']>>;\n /**\n * Allows to change the global filter value.\n */\n setGlobalFilter: React.Dispatch<React.SetStateAction<TableState<TData>['globalFilter']>>;\n /**\n * Allows to change the rows expanded state.\n */\n setExpanded: React.Dispatch<React.SetStateAction<TableState<TData>['expanded']>>;\n /**\n * Allows to change the predicates values.\n */\n setPredicates: React.Dispatch<React.SetStateAction<TableState<TData>['predicates']>>;\n /**\n * Allows to change the selected layout.\n */\n setLayout: React.Dispatch<React.SetStateAction<TableState<TData>['layout']>>;\n /**\n * Allows to change the selected date range.\n */\n setDateRange: React.Dispatch<React.SetStateAction<TableState<TData>['dateRange']>>;\n /**\n * Allows to change the current row selection.\n */\n setRowSelection: React.Dispatch<React.SetStateAction<TableState<TData>['rowSelection']>>;\n /**\n * Allows to change the visible columns.\n */\n setColumnVisibility: React.Dispatch<React.SetStateAction<TableState<TData>['columnVisibility']>>;\n /**\n * Whether the table is currently filtered.\n */\n isFiltered: boolean;\n /**\n * Whether the table has data when unfiltered.\n *\n * This is derived from the totalEntries so make sure you set that number correctly, even if you're using a client side table.\n */\n isVacant: boolean;\n /**\n * Clear currently applied filters.\n */\n clearFilters: () => void;\n /**\n * Deselects all currently selected rows.\n */\n clearRowSelection: () => void;\n /**\n * Get currently selected rows.\n */\n getSelectedRows: () => TData[];\n /**\n * Get currently selected row\n */\n getSelectedRow: () => TData | null;\n /**\n * Whether the user can select multiple rows at the same time.\n */\n multiRowSelectionEnabled: boolean;\n /**\n * Whether rows can be selected.\n */\n rowSelectionEnabled: boolean;\n /**\n * Whether row selection is forced.\n */\n rowSelectionForced: boolean;\n}\n\nexport interface UseTableOptions<TData = unknown> {\n /**\n * Initial state of the table.\n */\n initialState?: PartialDeep<TableState<TData>>;\n /**\n * Whether rows can be selected.\n *\n * @default true\n */\n enableRowSelection?: boolean;\n /**\n * Whether multiple rows can be selected at the same time.\n *\n * @default false\n */\n enableMultiRowSelection?: boolean;\n /**\n * Forces the user to always have one row selected.\n * When activating that setting, a good practice is to have a row already selected in the initial state.\n *\n * @default false\n */\n forceSelection?: boolean;\n}\n\nconst defaultOptions: UseTableOptions = {\n enableRowSelection: true,\n enableMultiRowSelection: false,\n forceSelection: false,\n};\n\nconst defaultState: Partial<TableState> = {\n pagination: {\n pageIndex: 0,\n pageSize: 50,\n },\n totalEntries: null,\n sorting: [],\n globalFilter: '',\n predicates: {},\n layout: null,\n dateRange: [null, null],\n rowSelection: {},\n columnVisibility: {},\n};\n\nexport const useTable = <TData>(userOptions: UseTableOptions<TData> = {}): TableStore<TData> => {\n const options: UseTableOptions<TData> = defaultsDeep({}, userOptions, defaultOptions);\n const initialState: TableState<TData> = defaultsDeep({}, options.initialState, defaultState);\n\n const [pagination, setPagination] = useState<TableState<TData>['pagination']>(\n initialState.pagination as PaginationState,\n );\n const [totalEntries, _setTotalEntries] = useState<TableState<TData>['totalEntries']>(initialState.totalEntries);\n const [unfilteredTotalEntries, setUnfilteredTotalEntries] = useState<TableState<TData>['totalEntries']>(\n initialState.totalEntries,\n );\n const [sorting, setSorting] = useState<TableState<TData>['sorting']>(initialState.sorting as SortingState);\n const [globalFilter, setGlobalFilter] = useState<TableState<TData>['globalFilter']>(initialState.globalFilter);\n const [expanded, setExpanded] = useState<TableState<TData>['expanded']>(initialState.expanded as ExpandedState);\n const [predicates, setPredicates] = useState<TableState<TData>['predicates']>(initialState.predicates);\n const [layout, setLayout] = useState<TableState<TData>['layout']>(initialState.layout);\n const [dateRange, setDateRange] = useState<TableState<TData>['dateRange']>(initialState.dateRange);\n const [rowSelection, setRowSelection] = useState<TableState<TData>['rowSelection']>(initialState.rowSelection);\n const [columnVisibility, setColumnVisibility] = useState<TableState<TData>['columnVisibility']>(\n initialState.columnVisibility,\n );\n\n const isFiltered =\n !!globalFilter ||\n Object.keys(predicates).some((predicate) => !!predicates[predicate]) ||\n !!dateRange?.[0] ||\n !!dateRange?.[1];\n\n const isVacant = unfilteredTotalEntries === 0;\n\n const setTotalEntries: typeof _setTotalEntries = useCallback(\n (updater) => {\n _setTotalEntries((old) => {\n const newTotalEntries = updater instanceof Function ? updater(old) : updater;\n if (!isFiltered) {\n setUnfilteredTotalEntries(newTotalEntries);\n }\n return newTotalEntries;\n });\n },\n [isFiltered],\n );\n\n const clearFilters = useCallback(() => {\n setPredicates(initialState.predicates);\n setGlobalFilter('');\n }, []);\n\n const clearRowSelection = useCallback(() => {\n setRowSelection({});\n }, []);\n\n const getSelectedRows = useCallback(() => Object.values(rowSelection), [rowSelection]);\n\n const getSelectedRow = () => getSelectedRows()[0] ?? null;\n\n useDidUpdate(() => {\n if (!options.enableMultiRowSelection) {\n clearRowSelection();\n }\n }, [globalFilter, pagination, sorting, dateRange, predicates]);\n\n const state = useMemo(\n () => ({\n pagination,\n totalEntries,\n sorting,\n globalFilter,\n expanded,\n predicates,\n layout,\n dateRange,\n rowSelection,\n columnVisibility,\n }),\n [\n pagination,\n totalEntries,\n sorting,\n globalFilter,\n expanded,\n predicates,\n layout,\n dateRange,\n rowSelection,\n columnVisibility,\n ],\n );\n\n return {\n state,\n setPagination,\n setTotalEntries,\n setSorting,\n setGlobalFilter,\n setExpanded,\n setPredicates,\n setLayout,\n setDateRange,\n setRowSelection,\n setColumnVisibility,\n isFiltered,\n isVacant,\n clearFilters,\n clearRowSelection,\n getSelectedRows,\n getSelectedRow,\n rowSelectionEnabled: options.enableRowSelection,\n rowSelectionForced: options.forceSelection,\n multiRowSelectionEnabled: options.enableMultiRowSelection,\n };\n};\n"],"names":["useDidUpdate","defaultsDeep","useCallback","useMemo","useState","defaultOptions","enableRowSelection","enableMultiRowSelection","forceSelection","defaultState","pagination","pageIndex","pageSize","totalEntries","sorting","globalFilter","predicates","layout","dateRange","rowSelection","columnVisibility","useTable","userOptions","options","initialState","setPagination","_setTotalEntries","unfilteredTotalEntries","setUnfilteredTotalEntries","setSorting","setGlobalFilter","expanded","setExpanded","setPredicates","setLayout","setDateRange","setRowSelection","setColumnVisibility","isFiltered","Object","keys","some","predicate","isVacant","setTotalEntries","updater","old","newTotalEntries","Function","clearFilters","clearRowSelection","getSelectedRows","values","getSelectedRow","state","rowSelectionEnabled","rowSelectionForced","multiRowSelectionEnabled"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -11,11 +11,21 @@ export { type NotificationsProps } from '@mantine/notifications';
|
|
|
11
11
|
export * from '@tanstack/table-core';
|
|
12
12
|
export * from './components';
|
|
13
13
|
export { noop };
|
|
14
|
-
export { ActionIcon, BrowserPreview, Button, CopyToClipboard, Header, Menu, Table, type ActionIconProps, type ButtonProps, type CopyToClipboardProps, type HeaderProps, type
|
|
14
|
+
export { ActionIcon, BrowserPreview, Button, CopyToClipboard, Header, Menu, Table, type ActionIconProps, type ButtonProps, type CopyToClipboardProps, type HeaderProps, type MenuItemProps, type TableProps, type TableState, } from './components';
|
|
15
15
|
export * from './theme';
|
|
16
16
|
declare module '@mantine/core' {
|
|
17
17
|
interface MantineThemeColorsOverride {
|
|
18
18
|
colors: Record<keyof typeof PlasmaColors | (string & {}), MantineColorsTuple>;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
+
declare module '@tanstack/react-table' {
|
|
22
|
+
interface ColumnMeta<TData extends unknown, TValue> {
|
|
23
|
+
/**
|
|
24
|
+
* Whether the column is a control column.
|
|
25
|
+
* Control columns are columns that are not part of the data but are used to control the table.
|
|
26
|
+
* For example, a column that contains checkboxes to select rows.
|
|
27
|
+
*/
|
|
28
|
+
controlColumn: boolean;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
21
31
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAElD,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAC/D,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,IAAI,EAAC,CAAC;AAGd,OAAO,EACH,UAAU,EACV,cAAc,EACd,MAAM,EACN,eAAe,EACf,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAElD,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAC/D,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,IAAI,EAAC,CAAC;AAGd,OAAO,EACH,UAAU,EACV,cAAc,EACd,MAAM,EACN,eAAe,EACf,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,UAAU,GAClB,MAAM,cAAc,CAAC;AAEtB,cAAc,SAAS,CAAC;AAExB,OAAO,QAAQ,eAAe,CAAC;IAC3B,UAAiB,0BAA0B;QAEvC,MAAM,EAAE,MAAM,CAAC,MAAM,OAAO,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;KACjF;CACJ;AAED,OAAO,QAAQ,uBAAuB,CAAC;IACnC,UAAU,UAAU,CAAC,KAAK,SAAS,OAAO,EAAE,MAAM;QAC9C;;;;WAIG;QACH,aAAa,EAAE,OAAO,CAAC;KAC1B;CACJ"}
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import {MantineColorsTuple} from '@mantine/core';\n\nimport {noop} from '@mantine/core';\nimport {PlasmaColors} from './theme/PlasmaColors';\n\nexport * from '@mantine/carousel';\nexport * from '@mantine/core';\nexport {Pagination} from '@mantine/core';\nexport * from '@mantine/form';\nexport * from '@mantine/hooks';\nexport * from '@mantine/notifications';\nexport {type NotificationsProps} from '@mantine/notifications';\nexport * from '@tanstack/table-core';\nexport * from './components';\nexport {noop};\n\n// explicitly overriding mantine components\nexport {\n ActionIcon,\n BrowserPreview,\n Button,\n CopyToClipboard,\n Header,\n Menu,\n Table,\n type ActionIconProps,\n type ButtonProps,\n type CopyToClipboardProps,\n type HeaderProps,\n type
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import {MantineColorsTuple} from '@mantine/core';\n\nimport {noop} from '@mantine/core';\nimport {PlasmaColors} from './theme/PlasmaColors';\n\nexport * from '@mantine/carousel';\nexport * from '@mantine/core';\nexport {Pagination} from '@mantine/core';\nexport * from '@mantine/form';\nexport * from '@mantine/hooks';\nexport * from '@mantine/notifications';\nexport {type NotificationsProps} from '@mantine/notifications';\nexport * from '@tanstack/table-core';\nexport * from './components';\nexport {noop};\n\n// explicitly overriding mantine components\nexport {\n ActionIcon,\n BrowserPreview,\n Button,\n CopyToClipboard,\n Header,\n Menu,\n Table,\n type ActionIconProps,\n type ButtonProps,\n type CopyToClipboardProps,\n type HeaderProps,\n type MenuItemProps,\n type TableProps,\n type TableState,\n} from './components';\n\nexport * from './theme';\n\ndeclare module '@mantine/core' {\n export interface MantineThemeColorsOverride {\n // eslint-disable-next-line @typescript-eslint/ban-types\n colors: Record<keyof typeof PlasmaColors | (string & {}), MantineColorsTuple>;\n }\n}\n\ndeclare module '@tanstack/react-table' {\n interface ColumnMeta<TData extends unknown, TValue> {\n /**\n * Whether the column is a control column.\n * Control columns are columns that are not part of the data but are used to control the table.\n * For example, a column that contains checkboxes to select rows.\n */\n controlColumn: boolean;\n }\n}\n"],"names":["noop","Pagination","ActionIcon","BrowserPreview","Button","CopyToClipboard","Header","Menu","Table"],"rangeMappings":";;;;;;;;;;;;","mappings":"AAEA,SAAQA,IAAI,QAAO,gBAAgB;AAGnC,cAAc,oBAAoB;AAClC,cAAc,gBAAgB;AAC9B,SAAQC,UAAU,QAAO,gBAAgB;AACzC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,yBAAyB;AAEvC,cAAc,uBAAuB;AACrC,cAAc,eAAe;AAC7B,SAAQD,IAAI,GAAE;AAEd,2CAA2C;AAC3C,SACIE,UAAU,EACVC,cAAc,EACdC,MAAM,EACNC,eAAe,EACfC,MAAM,EACNC,IAAI,EACJC,KAAK,QAQF,eAAe;AAEtB,cAAc,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/theme/Theme.tsx"],"names":[],"mappings":"AAUA,OAAO,EAiBH,oBAAoB,EAoBvB,MAAM,eAAe,CAAC;AA+BvB,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/theme/Theme.tsx"],"names":[],"mappings":"AAUA,OAAO,EAiBH,oBAAoB,EAoBvB,MAAM,eAAe,CAAC;AA+BvB,eAAO,MAAM,WAAW,EAAE,oBAuNxB,CAAC"}
|