@coveord/plasma-mantine 52.16.2 → 52.17.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/.turbo/turbo-build.log +3 -3
- package/.turbo/turbo-test.log +31 -31
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/components/action-icon/ActionIcon.d.ts +16 -0
- package/dist/cjs/components/action-icon/ActionIcon.d.ts.map +1 -0
- package/dist/cjs/components/action-icon/ActionIcon.js +109 -0
- package/dist/cjs/components/action-icon/ActionIcon.js.map +1 -0
- package/dist/cjs/components/action-icon/index.d.ts +2 -0
- package/dist/cjs/components/action-icon/index.d.ts.map +1 -0
- package/dist/cjs/components/action-icon/index.js +8 -0
- package/dist/cjs/components/action-icon/index.js.map +1 -0
- package/dist/cjs/components/collection/Collection.d.ts +1 -1
- package/dist/cjs/components/collection/Collection.d.ts.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.d.ts +1 -2
- package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.d.ts.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts +1 -2
- package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts +1 -2
- package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
- package/dist/cjs/components/date-range-picker/EditableDateRangePicker.d.ts +1 -1
- package/dist/cjs/components/date-range-picker/EditableDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.d.ts.map +1 -1
- package/dist/cjs/components/index.js +1 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/sticky-footer/StickyFooter.d.ts +30 -4
- package/dist/cjs/components/sticky-footer/StickyFooter.d.ts.map +1 -1
- package/dist/cjs/components/sticky-footer/StickyFooter.js +35 -14
- package/dist/cjs/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/cjs/components/table/Table.js +15 -15
- package/dist/cjs/components/table/Table.js.map +1 -1
- package/dist/cjs/components/table/Table.types.d.ts +14 -32
- package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
- package/dist/cjs/components/table/index.d.ts +3 -2
- package/dist/cjs/components/table/index.d.ts.map +1 -1
- package/dist/cjs/components/table/index.js +5 -4
- package/dist/cjs/components/table/index.js.map +1 -1
- package/dist/cjs/components/table/layouts/RowLayout.d.ts.map +1 -1
- package/dist/cjs/components/table/layouts/RowLayout.js +25 -67
- package/dist/cjs/components/table/layouts/RowLayout.js.map +1 -1
- package/dist/cjs/components/table/layouts/RowLayout.styles.d.ts +13 -0
- package/dist/cjs/components/table/layouts/RowLayout.styles.d.ts.map +1 -0
- package/dist/cjs/components/table/layouts/RowLayout.styles.js +72 -0
- package/dist/cjs/components/table/layouts/RowLayout.styles.js.map +1 -0
- package/dist/cjs/components/table/layouts/RowLayout.types.d.ts +26 -0
- package/dist/cjs/components/table/layouts/RowLayout.types.d.ts.map +1 -0
- package/dist/cjs/components/table/layouts/RowLayout.types.js +6 -0
- package/dist/cjs/components/table/layouts/RowLayout.types.js.map +1 -0
- package/dist/cjs/components/table/layouts/TableLayoutControl.d.ts +2 -0
- package/dist/cjs/components/table/layouts/TableLayoutControl.d.ts.map +1 -0
- package/dist/cjs/components/table/{TableLayoutControl.js → layouts/TableLayoutControl.js} +2 -2
- package/dist/cjs/components/table/layouts/TableLayoutControl.js.map +1 -0
- package/dist/cjs/components/table/table-actions/TableActions.d.ts +4 -0
- package/dist/cjs/components/table/table-actions/TableActions.d.ts.map +1 -0
- package/dist/cjs/components/table/{TableActions.js → table-actions/TableActions.js} +5 -11
- package/dist/cjs/components/table/table-actions/TableActions.js.map +1 -0
- package/dist/cjs/components/table/table-actions/TableActions.styles.d.ts +10 -0
- package/dist/cjs/components/table/table-actions/TableActions.styles.d.ts.map +1 -0
- package/dist/cjs/components/table/table-actions/TableActions.styles.js +21 -0
- package/dist/cjs/components/table/table-actions/TableActions.styles.js.map +1 -0
- package/dist/cjs/components/table/{TableActions.d.ts → table-actions/TableActions.types.d.ts} +4 -12
- package/dist/cjs/components/table/table-actions/TableActions.types.d.ts.map +1 -0
- package/dist/cjs/components/table/table-actions/TableActions.types.js +6 -0
- package/dist/cjs/components/table/table-actions/TableActions.types.js.map +1 -0
- package/dist/cjs/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -0
- package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js.map +1 -0
- package/dist/cjs/components/table/table-column/TableSelectableColumn.d.ts.map +1 -0
- package/dist/cjs/components/table/table-column/TableSelectableColumn.js.map +1 -0
- package/dist/cjs/components/table/table-consumer/TableConsumer.d.ts.map +1 -0
- package/dist/cjs/components/table/table-consumer/TableConsumer.js.map +1 -0
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts +4 -0
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -0
- package/dist/cjs/components/table/{TableDateRangePicker.js → table-date-range-picker/TableDateRangePicker.js} +6 -12
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -0
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.styles.d.ts +11 -0
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.styles.d.ts.map +1 -0
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.styles.js +20 -0
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.styles.js.map +1 -0
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.types.d.ts +20 -0
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.types.d.ts.map +1 -0
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.types.js +6 -0
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.types.js.map +1 -0
- package/dist/cjs/components/table/table-filter/TableFilter.d.ts +4 -0
- package/dist/cjs/components/table/table-filter/TableFilter.d.ts.map +1 -0
- package/dist/cjs/components/table/{TableFilter.js → table-filter/TableFilter.js} +5 -14
- package/dist/cjs/components/table/table-filter/TableFilter.js.map +1 -0
- package/dist/cjs/components/table/table-filter/TableFilter.styles.d.ts +11 -0
- package/dist/cjs/components/table/table-filter/TableFilter.styles.d.ts.map +1 -0
- package/dist/cjs/components/table/table-filter/TableFilter.styles.js +24 -0
- package/dist/cjs/components/table/table-filter/TableFilter.styles.js.map +1 -0
- package/dist/cjs/components/table/table-filter/TableFilter.types.d.ts +13 -0
- package/dist/cjs/components/table/table-filter/TableFilter.types.d.ts.map +1 -0
- package/dist/cjs/components/table/table-filter/TableFilter.types.js +6 -0
- package/dist/cjs/components/table/table-filter/TableFilter.types.js.map +1 -0
- package/dist/cjs/components/table/table-footer/TableFooter.d.ts +4 -0
- package/dist/cjs/components/table/table-footer/TableFooter.d.ts.map +1 -0
- package/dist/cjs/components/table/table-footer/TableFooter.js.map +1 -0
- package/dist/cjs/components/table/table-footer/TableFooter.types.d.ts +6 -0
- package/dist/cjs/components/table/table-footer/TableFooter.types.d.ts.map +1 -0
- package/dist/cjs/components/table/table-footer/TableFooter.types.js +6 -0
- package/dist/cjs/components/table/table-footer/TableFooter.types.js.map +1 -0
- package/dist/cjs/components/table/table-header/TableHeader.d.ts +4 -0
- package/dist/cjs/components/table/table-header/TableHeader.d.ts.map +1 -0
- package/dist/cjs/components/table/{TableHeader.js → table-header/TableHeader.js} +7 -18
- package/dist/cjs/components/table/table-header/TableHeader.js.map +1 -0
- package/dist/cjs/components/table/table-header/TableHeader.styles.d.ts +10 -0
- package/dist/cjs/components/table/table-header/TableHeader.styles.d.ts.map +1 -0
- package/dist/cjs/components/table/table-header/TableHeader.styles.js +26 -0
- package/dist/cjs/components/table/table-header/TableHeader.styles.js.map +1 -0
- package/dist/cjs/components/table/table-header/TableHeader.types.d.ts +9 -0
- package/dist/cjs/components/table/table-header/TableHeader.types.d.ts.map +1 -0
- package/dist/cjs/components/table/table-header/TableHeader.types.js +6 -0
- package/dist/cjs/components/table/table-header/TableHeader.types.js.map +1 -0
- package/dist/cjs/components/table/table-header/Th.d.ts +3 -0
- package/dist/cjs/components/table/table-header/Th.d.ts.map +1 -0
- package/dist/cjs/components/table/{Th.js → table-header/Th.js} +3 -28
- package/dist/cjs/components/table/table-header/Th.js.map +1 -0
- package/dist/cjs/components/table/table-header/Th.styles.d.ts +14 -0
- package/dist/cjs/components/table/table-header/Th.styles.d.ts.map +1 -0
- package/dist/cjs/components/table/table-header/Th.styles.js +40 -0
- package/dist/cjs/components/table/table-header/Th.styles.js.map +1 -0
- package/dist/cjs/components/table/table-header/Th.types.d.ts +5 -0
- package/dist/cjs/components/table/table-header/Th.types.d.ts.map +1 -0
- package/dist/cjs/components/table/table-header/Th.types.js +6 -0
- package/dist/cjs/components/table/table-header/Th.types.js.map +1 -0
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts +6 -0
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -0
- package/dist/cjs/components/table/{TableLastUpdated.js → table-last-updated/TableLastUpdated.js} +3 -12
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js.map +1 -0
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.styles.d.ts +10 -0
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.styles.d.ts.map +1 -0
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.styles.js +23 -0
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.styles.js.map +1 -0
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.types.d.ts +13 -0
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.types.d.ts.map +1 -0
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.types.js +6 -0
- package/dist/cjs/components/table/table-last-updated/TableLastUpdated.types.js.map +1 -0
- package/dist/cjs/components/table/table-loading/TableLoading.d.ts.map +1 -0
- package/dist/cjs/components/table/table-loading/TableLoading.js.map +1 -0
- package/dist/cjs/components/table/table-pagination/TablePagination.d.ts +4 -0
- package/dist/cjs/components/table/table-pagination/TablePagination.d.ts.map +1 -0
- package/dist/cjs/components/table/{TablePagination.js → table-pagination/TablePagination.js} +1 -1
- package/dist/cjs/components/table/table-pagination/TablePagination.js.map +1 -0
- package/dist/{esm/components/table/TablePagination.d.ts → cjs/components/table/table-pagination/TablePagination.types.d.ts} +2 -5
- package/dist/cjs/components/table/table-pagination/TablePagination.types.d.ts.map +1 -0
- package/dist/cjs/components/table/table-pagination/TablePagination.types.js +6 -0
- package/dist/cjs/components/table/table-pagination/TablePagination.types.js.map +1 -0
- package/dist/cjs/components/table/table-per-page/TablePerPage.d.ts +6 -0
- package/dist/cjs/components/table/table-per-page/TablePerPage.d.ts.map +1 -0
- package/dist/cjs/components/table/{TablePerPage.js → table-per-page/TablePerPage.js} +1 -1
- package/dist/cjs/components/table/table-per-page/TablePerPage.js.map +1 -0
- package/dist/cjs/components/table/{TablePerPage.d.ts → table-per-page/TablePerPage.types.d.ts} +2 -7
- package/dist/cjs/components/table/table-per-page/TablePerPage.types.d.ts.map +1 -0
- package/dist/cjs/components/table/table-per-page/TablePerPage.types.js +6 -0
- package/dist/cjs/components/table/table-per-page/TablePerPage.types.js.map +1 -0
- package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts +4 -0
- package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts.map +1 -0
- package/dist/cjs/components/table/{TablePredicate.js → table-predicate/TablePredicate.js} +5 -11
- package/dist/cjs/components/table/table-predicate/TablePredicate.js.map +1 -0
- package/dist/cjs/components/table/table-predicate/TablePredicate.styles.d.ts +12 -0
- package/dist/cjs/components/table/table-predicate/TablePredicate.styles.d.ts.map +1 -0
- package/dist/cjs/components/table/table-predicate/TablePredicate.styles.js +21 -0
- package/dist/cjs/components/table/table-predicate/TablePredicate.styles.js.map +1 -0
- package/dist/cjs/components/table/table-predicate/TablePredicate.types.d.ts +21 -0
- package/dist/cjs/components/table/table-predicate/TablePredicate.types.d.ts.map +1 -0
- package/dist/cjs/components/table/table-predicate/TablePredicate.types.js +6 -0
- package/dist/cjs/components/table/table-predicate/TablePredicate.types.js.map +1 -0
- package/dist/cjs/{components/table → hooks}/useRowSelection.d.ts +1 -1
- package/dist/cjs/hooks/useRowSelection.d.ts.map +1 -0
- package/dist/cjs/{components/table → hooks}/useRowSelection.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/theme/Theme.d.ts.map +1 -1
- package/dist/cjs/theme/Theme.js.map +1 -1
- package/dist/esm/components/action-icon/ActionIcon.d.ts +16 -0
- package/dist/esm/components/action-icon/ActionIcon.d.ts.map +1 -0
- package/dist/esm/components/action-icon/ActionIcon.js +99 -0
- package/dist/esm/components/action-icon/ActionIcon.js.map +1 -0
- package/dist/esm/components/action-icon/index.d.ts +2 -0
- package/dist/esm/components/action-icon/index.d.ts.map +1 -0
- package/dist/esm/components/action-icon/index.js +3 -0
- package/dist/esm/components/action-icon/index.js.map +1 -0
- package/dist/esm/components/collection/Collection.d.ts +1 -1
- package/dist/esm/components/collection/Collection.d.ts.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.d.ts +1 -2
- package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.d.ts.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts +1 -2
- package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts +1 -2
- package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
- package/dist/esm/components/date-range-picker/EditableDateRangePicker.d.ts +1 -1
- package/dist/esm/components/date-range-picker/EditableDateRangePicker.d.ts.map +1 -1
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/sticky-footer/StickyFooter.d.ts +30 -4
- package/dist/esm/components/sticky-footer/StickyFooter.d.ts.map +1 -1
- package/dist/esm/components/sticky-footer/StickyFooter.js +36 -15
- package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/esm/components/table/Table.js +15 -15
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/Table.types.d.ts +14 -32
- 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/index.d.ts +3 -2
- 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/RowLayout.d.ts.map +1 -1
- package/dist/esm/components/table/layouts/RowLayout.js +23 -66
- package/dist/esm/components/table/layouts/RowLayout.js.map +1 -1
- package/dist/esm/components/table/layouts/RowLayout.styles.d.ts +13 -0
- package/dist/esm/components/table/layouts/RowLayout.styles.d.ts.map +1 -0
- package/dist/esm/components/table/layouts/RowLayout.styles.js +62 -0
- package/dist/esm/components/table/layouts/RowLayout.styles.js.map +1 -0
- package/dist/esm/components/table/layouts/RowLayout.types.d.ts +26 -0
- package/dist/esm/components/table/layouts/RowLayout.types.d.ts.map +1 -0
- package/dist/esm/components/table/layouts/RowLayout.types.js +3 -0
- package/dist/esm/components/table/layouts/RowLayout.types.js.map +1 -0
- package/dist/esm/components/table/layouts/TableLayoutControl.d.ts +2 -0
- package/dist/esm/components/table/layouts/TableLayoutControl.d.ts.map +1 -0
- package/dist/esm/components/table/{TableLayoutControl.js → layouts/TableLayoutControl.js} +2 -2
- package/dist/esm/components/table/layouts/TableLayoutControl.js.map +1 -0
- package/dist/esm/components/table/table-actions/TableActions.d.ts +4 -0
- package/dist/esm/components/table/table-actions/TableActions.d.ts.map +1 -0
- package/dist/esm/components/table/{TableActions.js → table-actions/TableActions.js} +4 -11
- package/dist/esm/components/table/table-actions/TableActions.js.map +1 -0
- package/dist/esm/components/table/table-actions/TableActions.styles.d.ts +10 -0
- package/dist/esm/components/table/table-actions/TableActions.styles.d.ts.map +1 -0
- package/dist/esm/components/table/table-actions/TableActions.styles.js +11 -0
- package/dist/esm/components/table/table-actions/TableActions.styles.js.map +1 -0
- package/dist/esm/components/table/{TableActions.d.ts → table-actions/TableActions.types.d.ts} +4 -12
- package/dist/esm/components/table/table-actions/TableActions.types.d.ts.map +1 -0
- package/dist/esm/components/table/table-actions/TableActions.types.js +3 -0
- package/dist/esm/components/table/table-actions/TableActions.types.js.map +1 -0
- package/dist/esm/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -0
- package/dist/esm/components/table/table-column/TableCollapsibleColumn.js.map +1 -0
- package/dist/esm/components/table/table-column/TableSelectableColumn.d.ts.map +1 -0
- package/dist/esm/components/table/table-column/TableSelectableColumn.js.map +1 -0
- package/dist/esm/components/table/table-consumer/TableConsumer.d.ts.map +1 -0
- package/dist/esm/components/table/table-consumer/TableConsumer.js.map +1 -0
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts +4 -0
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -0
- package/dist/esm/components/table/{TableDateRangePicker.js → table-date-range-picker/TableDateRangePicker.js} +6 -12
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -0
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.styles.d.ts +11 -0
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.styles.d.ts.map +1 -0
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.styles.js +10 -0
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.styles.js.map +1 -0
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.types.d.ts +20 -0
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.types.d.ts.map +1 -0
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.types.js +3 -0
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.types.js.map +1 -0
- package/dist/esm/components/table/table-filter/TableFilter.d.ts +4 -0
- package/dist/esm/components/table/table-filter/TableFilter.d.ts.map +1 -0
- package/dist/esm/components/table/{TableFilter.js → table-filter/TableFilter.js} +4 -14
- package/dist/esm/components/table/table-filter/TableFilter.js.map +1 -0
- package/dist/esm/components/table/table-filter/TableFilter.styles.d.ts +11 -0
- package/dist/esm/components/table/table-filter/TableFilter.styles.d.ts.map +1 -0
- package/dist/esm/components/table/table-filter/TableFilter.styles.js +14 -0
- package/dist/esm/components/table/table-filter/TableFilter.styles.js.map +1 -0
- package/dist/esm/components/table/table-filter/TableFilter.types.d.ts +13 -0
- package/dist/esm/components/table/table-filter/TableFilter.types.d.ts.map +1 -0
- package/dist/esm/components/table/table-filter/TableFilter.types.js +3 -0
- package/dist/esm/components/table/table-filter/TableFilter.types.js.map +1 -0
- package/dist/esm/components/table/table-footer/TableFooter.d.ts +4 -0
- package/dist/esm/components/table/table-footer/TableFooter.d.ts.map +1 -0
- package/dist/esm/components/table/table-footer/TableFooter.js.map +1 -0
- package/dist/esm/components/table/table-footer/TableFooter.types.d.ts +6 -0
- package/dist/esm/components/table/table-footer/TableFooter.types.d.ts.map +1 -0
- package/dist/esm/components/table/table-footer/TableFooter.types.js +3 -0
- package/dist/esm/components/table/table-footer/TableFooter.types.js.map +1 -0
- package/dist/esm/components/table/table-header/TableHeader.d.ts +4 -0
- package/dist/esm/components/table/table-header/TableHeader.d.ts.map +1 -0
- package/dist/esm/components/table/{TableHeader.js → table-header/TableHeader.js} +6 -18
- package/dist/esm/components/table/table-header/TableHeader.js.map +1 -0
- package/dist/esm/components/table/table-header/TableHeader.styles.d.ts +10 -0
- package/dist/esm/components/table/table-header/TableHeader.styles.d.ts.map +1 -0
- package/dist/esm/components/table/table-header/TableHeader.styles.js +16 -0
- package/dist/esm/components/table/table-header/TableHeader.styles.js.map +1 -0
- package/dist/esm/components/table/table-header/TableHeader.types.d.ts +9 -0
- package/dist/esm/components/table/table-header/TableHeader.types.d.ts.map +1 -0
- package/dist/esm/components/table/table-header/TableHeader.types.js +3 -0
- package/dist/esm/components/table/table-header/TableHeader.types.js.map +1 -0
- package/dist/esm/components/table/table-header/Th.d.ts +3 -0
- package/dist/esm/components/table/table-header/Th.d.ts.map +1 -0
- package/dist/esm/components/table/{Th.js → table-header/Th.js} +2 -28
- package/dist/esm/components/table/table-header/Th.js.map +1 -0
- package/dist/esm/components/table/table-header/Th.styles.d.ts +14 -0
- package/dist/esm/components/table/table-header/Th.styles.d.ts.map +1 -0
- package/dist/esm/components/table/table-header/Th.styles.js +30 -0
- package/dist/esm/components/table/table-header/Th.styles.js.map +1 -0
- package/dist/esm/components/table/table-header/Th.types.d.ts +5 -0
- package/dist/esm/components/table/table-header/Th.types.d.ts.map +1 -0
- package/dist/esm/components/table/table-header/Th.types.js +3 -0
- package/dist/esm/components/table/table-header/Th.types.js.map +1 -0
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts +6 -0
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -0
- package/dist/esm/components/table/{TableLastUpdated.js → table-last-updated/TableLastUpdated.js} +3 -12
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.js.map +1 -0
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.styles.d.ts +10 -0
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.styles.d.ts.map +1 -0
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.styles.js +13 -0
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.styles.js.map +1 -0
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.types.d.ts +13 -0
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.types.d.ts.map +1 -0
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.types.js +3 -0
- package/dist/esm/components/table/table-last-updated/TableLastUpdated.types.js.map +1 -0
- package/dist/esm/components/table/table-loading/TableLoading.d.ts.map +1 -0
- package/dist/esm/components/table/table-loading/TableLoading.js.map +1 -0
- package/dist/esm/components/table/table-pagination/TablePagination.d.ts +4 -0
- package/dist/esm/components/table/table-pagination/TablePagination.d.ts.map +1 -0
- package/dist/esm/components/table/{TablePagination.js → table-pagination/TablePagination.js} +1 -1
- package/dist/esm/components/table/table-pagination/TablePagination.js.map +1 -0
- package/dist/{cjs/components/table/TablePagination.d.ts → esm/components/table/table-pagination/TablePagination.types.d.ts} +2 -5
- package/dist/esm/components/table/table-pagination/TablePagination.types.d.ts.map +1 -0
- package/dist/esm/components/table/table-pagination/TablePagination.types.js +3 -0
- package/dist/esm/components/table/table-pagination/TablePagination.types.js.map +1 -0
- package/dist/esm/components/table/table-per-page/TablePerPage.d.ts +6 -0
- package/dist/esm/components/table/table-per-page/TablePerPage.d.ts.map +1 -0
- package/dist/esm/components/table/{TablePerPage.js → table-per-page/TablePerPage.js} +1 -1
- package/dist/esm/components/table/table-per-page/TablePerPage.js.map +1 -0
- package/dist/esm/components/table/{TablePerPage.d.ts → table-per-page/TablePerPage.types.d.ts} +2 -7
- package/dist/esm/components/table/table-per-page/TablePerPage.types.d.ts.map +1 -0
- package/dist/esm/components/table/table-per-page/TablePerPage.types.js +3 -0
- package/dist/esm/components/table/table-per-page/TablePerPage.types.js.map +1 -0
- package/dist/esm/components/table/table-predicate/TablePredicate.d.ts +4 -0
- package/dist/esm/components/table/table-predicate/TablePredicate.d.ts.map +1 -0
- package/dist/esm/components/table/{TablePredicate.js → table-predicate/TablePredicate.js} +4 -11
- package/dist/esm/components/table/table-predicate/TablePredicate.js.map +1 -0
- package/dist/esm/components/table/table-predicate/TablePredicate.styles.d.ts +12 -0
- package/dist/esm/components/table/table-predicate/TablePredicate.styles.d.ts.map +1 -0
- package/dist/esm/components/table/table-predicate/TablePredicate.styles.js +11 -0
- package/dist/esm/components/table/table-predicate/TablePredicate.styles.js.map +1 -0
- package/dist/esm/components/table/table-predicate/TablePredicate.types.d.ts +21 -0
- package/dist/esm/components/table/table-predicate/TablePredicate.types.d.ts.map +1 -0
- package/dist/esm/components/table/table-predicate/TablePredicate.types.js +3 -0
- package/dist/esm/components/table/table-predicate/TablePredicate.types.js.map +1 -0
- package/dist/esm/{components/table → hooks}/useRowSelection.d.ts +1 -1
- package/dist/esm/hooks/useRowSelection.d.ts.map +1 -0
- package/dist/esm/hooks/useRowSelection.js.map +1 -0
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +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 -1
- package/dist/esm/theme/Theme.js.map +1 -1
- package/package.json +3 -3
- package/src/components/action-icon/ActionIcon.tsx +60 -0
- package/src/components/action-icon/index.ts +1 -0
- package/src/components/index.ts +1 -0
- package/src/components/sticky-footer/StickyFooter.tsx +47 -15
- package/src/components/table/Table.tsx +18 -18
- package/src/components/table/Table.types.ts +14 -34
- package/src/components/table/index.ts +6 -6
- package/src/components/table/layouts/RowLayout.styles.ts +74 -0
- package/src/components/table/layouts/RowLayout.tsx +16 -81
- package/src/components/table/layouts/RowLayout.types.ts +27 -0
- package/src/components/table/{TableLayoutControl.tsx → layouts/TableLayoutControl.tsx} +2 -2
- package/src/components/table/table-actions/TableActions.styles.ts +8 -0
- package/src/components/table/table-actions/TableActions.tsx +33 -0
- package/src/components/table/table-actions/TableActions.types.ts +28 -0
- package/src/components/table/table-date-range-picker/TableDateRangePicker.styles.ts +7 -0
- package/src/components/table/{TableDateRangePicker.tsx → table-date-range-picker/TableDateRangePicker.tsx} +7 -34
- package/src/components/table/table-date-range-picker/TableDateRangePicker.types.ts +22 -0
- package/src/components/table/table-filter/TableFilter.styles.ts +11 -0
- package/src/components/table/{TableFilter.tsx → table-filter/TableFilter.tsx} +5 -23
- package/src/components/table/table-filter/TableFilter.types.ts +13 -0
- package/src/components/table/{TableFooter.tsx → table-footer/TableFooter.tsx} +3 -5
- package/src/components/table/table-footer/TableFooter.types.ts +6 -0
- package/src/components/table/table-header/TableHeader.styles.ts +13 -0
- package/src/components/table/{TableHeader.tsx → table-header/TableHeader.tsx} +8 -23
- package/src/components/table/table-header/TableHeader.types.ts +10 -0
- package/src/components/table/table-header/Th.styles.ts +27 -0
- package/src/components/table/{Th.tsx → table-header/Th.tsx} +4 -32
- package/src/components/table/table-header/Th.types.ts +5 -0
- package/src/components/table/table-last-updated/TableLastUpdated.styles.ts +10 -0
- package/src/components/table/{TableLastUpdated.tsx → table-last-updated/TableLastUpdated.tsx} +4 -22
- package/src/components/table/table-last-updated/TableLastUpdated.types.ts +13 -0
- package/src/components/table/{TablePagination.tsx → table-pagination/TablePagination.tsx} +2 -14
- package/src/components/table/table-pagination/TablePagination.types.ts +12 -0
- package/src/components/table/{TablePerPage.tsx → table-per-page/TablePerPage.tsx} +2 -22
- package/src/components/table/table-per-page/TablePerPage.types.ts +20 -0
- package/src/components/table/table-predicate/TablePredicate.styles.ts +8 -0
- package/src/components/table/{TablePredicate.tsx → table-predicate/TablePredicate.tsx} +5 -29
- package/src/components/table/table-predicate/TablePredicate.types.ts +21 -0
- package/src/{components/table → hooks}/useRowSelection.ts +6 -6
- package/src/index.ts +2 -0
- package/src/theme/Theme.tsx +1 -1
- package/dist/cjs/components/table/TableActions.d.ts.map +0 -1
- package/dist/cjs/components/table/TableActions.js.map +0 -1
- package/dist/cjs/components/table/TableCollapsibleColumn.d.ts.map +0 -1
- package/dist/cjs/components/table/TableCollapsibleColumn.js.map +0 -1
- package/dist/cjs/components/table/TableConsumer.d.ts.map +0 -1
- package/dist/cjs/components/table/TableConsumer.js.map +0 -1
- package/dist/cjs/components/table/TableDateRangePicker.d.ts +0 -30
- package/dist/cjs/components/table/TableDateRangePicker.d.ts.map +0 -1
- package/dist/cjs/components/table/TableDateRangePicker.js.map +0 -1
- package/dist/cjs/components/table/TableFilter.d.ts +0 -23
- package/dist/cjs/components/table/TableFilter.d.ts.map +0 -1
- package/dist/cjs/components/table/TableFilter.js.map +0 -1
- package/dist/cjs/components/table/TableFooter.d.ts +0 -8
- package/dist/cjs/components/table/TableFooter.d.ts.map +0 -1
- package/dist/cjs/components/table/TableFooter.js.map +0 -1
- package/dist/cjs/components/table/TableHeader.d.ts +0 -17
- package/dist/cjs/components/table/TableHeader.d.ts.map +0 -1
- package/dist/cjs/components/table/TableHeader.js.map +0 -1
- package/dist/cjs/components/table/TableLastUpdated.d.ts +0 -24
- package/dist/cjs/components/table/TableLastUpdated.d.ts.map +0 -1
- package/dist/cjs/components/table/TableLastUpdated.js.map +0 -1
- package/dist/cjs/components/table/TableLayoutControl.d.ts +0 -3
- package/dist/cjs/components/table/TableLayoutControl.d.ts.map +0 -1
- package/dist/cjs/components/table/TableLayoutControl.js.map +0 -1
- package/dist/cjs/components/table/TableLoading.d.ts.map +0 -1
- package/dist/cjs/components/table/TableLoading.js.map +0 -1
- package/dist/cjs/components/table/TablePagination.d.ts.map +0 -1
- package/dist/cjs/components/table/TablePagination.js.map +0 -1
- package/dist/cjs/components/table/TablePerPage.d.ts.map +0 -1
- package/dist/cjs/components/table/TablePerPage.js.map +0 -1
- package/dist/cjs/components/table/TablePredicate.d.ts +0 -32
- package/dist/cjs/components/table/TablePredicate.d.ts.map +0 -1
- package/dist/cjs/components/table/TablePredicate.js.map +0 -1
- package/dist/cjs/components/table/TableSelectableColumn.d.ts.map +0 -1
- package/dist/cjs/components/table/TableSelectableColumn.js.map +0 -1
- package/dist/cjs/components/table/Th.d.ts +0 -8
- package/dist/cjs/components/table/Th.d.ts.map +0 -1
- package/dist/cjs/components/table/Th.js.map +0 -1
- package/dist/cjs/components/table/useRowSelection.d.ts.map +0 -1
- package/dist/esm/components/table/TableActions.d.ts.map +0 -1
- package/dist/esm/components/table/TableActions.js.map +0 -1
- package/dist/esm/components/table/TableCollapsibleColumn.d.ts.map +0 -1
- package/dist/esm/components/table/TableCollapsibleColumn.js.map +0 -1
- package/dist/esm/components/table/TableConsumer.d.ts.map +0 -1
- package/dist/esm/components/table/TableConsumer.js.map +0 -1
- package/dist/esm/components/table/TableDateRangePicker.d.ts +0 -30
- package/dist/esm/components/table/TableDateRangePicker.d.ts.map +0 -1
- package/dist/esm/components/table/TableDateRangePicker.js.map +0 -1
- package/dist/esm/components/table/TableFilter.d.ts +0 -23
- package/dist/esm/components/table/TableFilter.d.ts.map +0 -1
- package/dist/esm/components/table/TableFilter.js.map +0 -1
- package/dist/esm/components/table/TableFooter.d.ts +0 -8
- package/dist/esm/components/table/TableFooter.d.ts.map +0 -1
- package/dist/esm/components/table/TableFooter.js.map +0 -1
- package/dist/esm/components/table/TableHeader.d.ts +0 -17
- package/dist/esm/components/table/TableHeader.d.ts.map +0 -1
- package/dist/esm/components/table/TableHeader.js.map +0 -1
- package/dist/esm/components/table/TableLastUpdated.d.ts +0 -24
- package/dist/esm/components/table/TableLastUpdated.d.ts.map +0 -1
- package/dist/esm/components/table/TableLastUpdated.js.map +0 -1
- package/dist/esm/components/table/TableLayoutControl.d.ts +0 -3
- package/dist/esm/components/table/TableLayoutControl.d.ts.map +0 -1
- package/dist/esm/components/table/TableLayoutControl.js.map +0 -1
- package/dist/esm/components/table/TableLoading.d.ts.map +0 -1
- package/dist/esm/components/table/TableLoading.js.map +0 -1
- package/dist/esm/components/table/TablePagination.d.ts.map +0 -1
- package/dist/esm/components/table/TablePagination.js.map +0 -1
- package/dist/esm/components/table/TablePerPage.d.ts.map +0 -1
- package/dist/esm/components/table/TablePerPage.js.map +0 -1
- package/dist/esm/components/table/TablePredicate.d.ts +0 -32
- package/dist/esm/components/table/TablePredicate.d.ts.map +0 -1
- package/dist/esm/components/table/TablePredicate.js.map +0 -1
- package/dist/esm/components/table/TableSelectableColumn.d.ts.map +0 -1
- package/dist/esm/components/table/TableSelectableColumn.js.map +0 -1
- package/dist/esm/components/table/Th.d.ts +0 -8
- package/dist/esm/components/table/Th.d.ts.map +0 -1
- package/dist/esm/components/table/Th.js.map +0 -1
- package/dist/esm/components/table/useRowSelection.d.ts.map +0 -1
- package/dist/esm/components/table/useRowSelection.js.map +0 -1
- package/src/components/table/TableActions.tsx +0 -63
- /package/dist/cjs/components/table/{TableCollapsibleColumn.d.ts → table-column/TableCollapsibleColumn.d.ts} +0 -0
- /package/dist/cjs/components/table/{TableCollapsibleColumn.js → table-column/TableCollapsibleColumn.js} +0 -0
- /package/dist/cjs/components/table/{TableSelectableColumn.d.ts → table-column/TableSelectableColumn.d.ts} +0 -0
- /package/dist/cjs/components/table/{TableSelectableColumn.js → table-column/TableSelectableColumn.js} +0 -0
- /package/dist/cjs/components/table/{TableConsumer.d.ts → table-consumer/TableConsumer.d.ts} +0 -0
- /package/dist/cjs/components/table/{TableConsumer.js → table-consumer/TableConsumer.js} +0 -0
- /package/dist/cjs/components/table/{TableFooter.js → table-footer/TableFooter.js} +0 -0
- /package/dist/cjs/components/table/{TableLoading.d.ts → table-loading/TableLoading.d.ts} +0 -0
- /package/dist/cjs/components/table/{TableLoading.js → table-loading/TableLoading.js} +0 -0
- /package/dist/cjs/{components/table → hooks}/useRowSelection.js +0 -0
- /package/dist/esm/components/table/{TableCollapsibleColumn.d.ts → table-column/TableCollapsibleColumn.d.ts} +0 -0
- /package/dist/esm/components/table/{TableCollapsibleColumn.js → table-column/TableCollapsibleColumn.js} +0 -0
- /package/dist/esm/components/table/{TableSelectableColumn.d.ts → table-column/TableSelectableColumn.d.ts} +0 -0
- /package/dist/esm/components/table/{TableSelectableColumn.js → table-column/TableSelectableColumn.js} +0 -0
- /package/dist/esm/components/table/{TableConsumer.d.ts → table-consumer/TableConsumer.d.ts} +0 -0
- /package/dist/esm/components/table/{TableConsumer.js → table-consumer/TableConsumer.js} +0 -0
- /package/dist/esm/components/table/{TableFooter.js → table-footer/TableFooter.js} +0 -0
- /package/dist/esm/components/table/{TableLoading.d.ts → table-loading/TableLoading.d.ts} +0 -0
- /package/dist/esm/components/table/{TableLoading.js → table-loading/TableLoading.js} +0 -0
- /package/dist/esm/{components/table → hooks}/useRowSelection.js +0 -0
- /package/src/components/table/{TableCollapsibleColumn.tsx → table-column/TableCollapsibleColumn.tsx} +0 -0
- /package/src/components/table/{TableSelectableColumn.tsx → table-column/TableSelectableColumn.tsx} +0 -0
- /package/src/components/table/{TableConsumer.tsx → table-consumer/TableConsumer.tsx} +0 -0
- /package/src/components/table/{TableLoading.tsx → table-loading/TableLoading.tsx} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Loader} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate} 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, ReactElement, useCallback, useEffect, useState} from 'react';\n\nimport {TableLayouts} from './layouts/TableLayouts';\nimport useStyles from './Table.styles';\nimport {TableFormType, TableProps, TableState, TableType} from './Table.types';\nimport {TableActions} from './TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './TableCollapsibleColumn';\nimport {TableConsumer} from './TableConsumer';\nimport {TableContext} from './TableContext';\nimport {TableDateRangePicker} from './TableDateRangePicker';\nimport {TableFilter} from './TableFilter';\nimport {TableFooter} from './TableFooter';\nimport {TableHeader} from './TableHeader';\nimport {TableLastUpdated} from './TableLastUpdated';\nimport {TableLoading} from './TableLoading';\nimport {TablePagination} from './TablePagination';\nimport {TablePerPage} from './TablePerPage';\nimport {TablePredicate} from './TablePredicate';\nimport {TableSelectableColumn} from './TableSelectableColumn';\nimport {useRowSelection} from './useRowSelection';\n\nexport const Table: TableType = <T,>({\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState = {},\n columns,\n layouts = [TableLayouts.Rows],\n onMount,\n onChange,\n children,\n loading = false,\n doubleClickAction,\n multiRowSelectionEnabled,\n disableRowSelection,\n onRowSelectionChange,\n additionalRootNodes,\n options = {},\n}: TableProps<T>) => {\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].name,\n },\n });\n const {classes} = useStyles();\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 [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 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 sx={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout = layouts.find(({name}) => name === form.values.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={outsideClickRef}>\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 disableRowSelection,\n layouts,\n }}\n >\n {consumer}\n {!hasRows && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n <Box component=\"table\" className={classes.table} pb=\"sm\">\n <thead className={classes.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>\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 </TableContext.Provider>\n </Box>\n );\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.Layouts = TableLayouts;\n"],"names":["Box","Center","Loader","useForm","useDidUpdate","defaultColumnSizing","getCoreRowModel","useReactTable","debounce","defaultsDeep","Children","cloneElement","useCallback","useEffect","useState","TableLayouts","useStyles","TableActions","TableAccordionColumn","TableCollapsibleColumn","TableConsumer","TableContext","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TableLastUpdated","TableLoading","TablePagination","TablePerPage","TablePredicate","TableSelectableColumn","useRowSelection","Table","data","getRowId","noDataChildren","getExpandChildren","initialState","columns","layouts","Rows","onMount","onChange","children","loading","doubleClickAction","multiRowSelectionEnabled","disableRowSelection","onRowSelectionChange","additionalRootNodes","options","form","convertedChildren","toArray","header","find","child","type","footer","consumer","lastUpdated","predicates","dateRange","initialStateWithoutForm","initialValues","layout","name","classes","table","pagination","pageSize","DEFAULT_SIZE","globalFilter","concat","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","defaultColumn","size","minSize","maxSize","state","setState","setOptions","prev","onStateChange","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","isFiltered","Object","keys","values","some","predicate","triggerChange","cancel","sorting","JSON","stringify","clearFilters","setFieldValue","prevState","sx","flexGrow","Layout","hasRows","getRowModel","rows","length","ref","Provider","value","containerRef","getPageCount","component","className","pb","thead","tr","th","style","padding","colSpan","getAllColumns","Header","tbody","Body","td","visible","dependencies","props","Actions","Filter","Footer","LastUpdated","Pagination","Predicate","PerPage","CollapsibleColumn","AccordionColumn","DateRangePicker","Consumer","Loading","Layouts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Loader} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {\n ColumnDef,\n Row,\n TableState as TanstackTableState,\n defaultColumnSizing,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport debounce from 'lodash.debounce';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, Dispatch, ReactElement, cloneElement, useCallback, useEffect, useState} from 'react';\n\nimport {useRowSelection} from '../../hooks/useRowSelection';\nimport useStyles from './Table.styles';\nimport {TableFormType, TableProps, TableState, TableType} from './Table.types';\nimport {TableContext} from './TableContext';\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActions} from './table-actions/TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn';\nimport {TableConsumer} from './table-consumer/TableConsumer';\nimport {TableDateRangePicker} from './table-date-range-picker/TableDateRangePicker';\nimport {TableFilter} from './table-filter/TableFilter';\nimport {TableFooter} from './table-footer/TableFooter';\nimport {TableHeader} from './table-header/TableHeader';\nimport {TableLastUpdated} 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} from './table-predicate/TablePredicate';\n\nexport const Table: TableType = <T,>({\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState = {},\n columns,\n layouts = [TableLayouts.Rows],\n onMount,\n onChange,\n children,\n loading = false,\n doubleClickAction,\n multiRowSelectionEnabled,\n disableRowSelection,\n onRowSelectionChange,\n additionalRootNodes,\n options = {},\n}: TableProps<T>) => {\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].name,\n },\n });\n const {classes} = useStyles();\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 [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 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 sx={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout = layouts.find(({name}) => name === form.values.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={outsideClickRef}>\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 disableRowSelection,\n layouts,\n }}\n >\n {consumer}\n {!hasRows && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n <Box component=\"table\" className={classes.table} pb=\"sm\">\n <thead className={classes.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>\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 </TableContext.Provider>\n </Box>\n );\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.Layouts = TableLayouts;\n"],"names":["Box","Center","Loader","useForm","useDidUpdate","defaultColumnSizing","getCoreRowModel","useReactTable","debounce","defaultsDeep","Children","cloneElement","useCallback","useEffect","useState","useRowSelection","useStyles","TableContext","TableLayouts","TableActions","TableAccordionColumn","TableCollapsibleColumn","TableSelectableColumn","TableConsumer","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TableLastUpdated","TableLoading","TablePagination","TablePerPage","TablePredicate","Table","data","getRowId","noDataChildren","getExpandChildren","initialState","columns","layouts","Rows","onMount","onChange","children","loading","doubleClickAction","multiRowSelectionEnabled","disableRowSelection","onRowSelectionChange","additionalRootNodes","options","form","convertedChildren","toArray","header","find","child","type","footer","consumer","lastUpdated","predicates","dateRange","initialStateWithoutForm","initialValues","layout","name","classes","table","pagination","pageSize","DEFAULT_SIZE","globalFilter","concat","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","defaultColumn","size","minSize","maxSize","state","setState","setOptions","prev","onStateChange","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","isFiltered","Object","keys","values","some","predicate","triggerChange","cancel","sorting","JSON","stringify","clearFilters","setFieldValue","prevState","sx","flexGrow","Layout","hasRows","getRowModel","rows","length","ref","Provider","value","containerRef","getPageCount","component","className","pb","thead","tr","th","style","padding","colSpan","getAllColumns","Header","tbody","Body","td","visible","dependencies","props","Actions","Filter","Footer","LastUpdated","Pagination","Predicate","PerPage","CollapsibleColumn","AccordionColumn","DateRangePicker","Consumer","Loading","Layouts"],"mappings":"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"}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { Icon } from '@coveord/plasma-react-icons';
|
|
2
2
|
import { UseFormReturnType } from '@mantine/form';
|
|
3
|
-
import { ColumnDef, CoreOptions, InitialTableState as TanstackInitialTableState,
|
|
3
|
+
import { ColumnDef, CoreOptions, TableOptions, InitialTableState as TanstackInitialTableState, TableState as TanstackTableState } from '@tanstack/table-core';
|
|
4
4
|
import { Dispatch, ReactElement, ReactNode, RefObject } from 'react';
|
|
5
5
|
import { DateRangePickerValue } from '../date-range-picker/DateRangePickerInlineCalendar';
|
|
6
|
+
import { TableLayoutProps } from './layouts/RowLayout.types';
|
|
6
7
|
import { TableLayouts } from './layouts/TableLayouts';
|
|
7
|
-
import { TableActions } from './TableActions';
|
|
8
|
-
import { TableAccordionColumn, TableCollapsibleColumn } from './TableCollapsibleColumn';
|
|
9
|
-
import { TableConsumer } from './TableConsumer';
|
|
10
|
-
import { TableDateRangePicker } from './TableDateRangePicker';
|
|
11
|
-
import { TableFilter } from './TableFilter';
|
|
12
|
-
import { TableFooter } from './TableFooter';
|
|
13
|
-
import { TableHeader } from './TableHeader';
|
|
14
|
-
import { TableLastUpdated } from './TableLastUpdated';
|
|
15
|
-
import { TableLoading } from './TableLoading';
|
|
16
|
-
import { TablePagination } from './TablePagination';
|
|
17
|
-
import { TablePerPage } from './TablePerPage';
|
|
18
|
-
import { TablePredicate } from './TablePredicate';
|
|
8
|
+
import { TableActions } from './table-actions/TableActions';
|
|
9
|
+
import { TableAccordionColumn, TableCollapsibleColumn } from './table-column/TableCollapsibleColumn';
|
|
10
|
+
import { TableConsumer } from './table-consumer/TableConsumer';
|
|
11
|
+
import { TableDateRangePicker } from './table-date-range-picker/TableDateRangePicker';
|
|
12
|
+
import { TableFilter } from './table-filter/TableFilter';
|
|
13
|
+
import { TableFooter } from './table-footer/TableFooter';
|
|
14
|
+
import { TableHeader } from './table-header/TableHeader';
|
|
15
|
+
import { TableLastUpdated } from './table-last-updated/TableLastUpdated';
|
|
16
|
+
import { TableLoading } from './table-loading/TableLoading';
|
|
17
|
+
import { TablePagination } from './table-pagination/TablePagination';
|
|
18
|
+
import { TablePerPage } from './table-per-page/TablePerPage';
|
|
19
|
+
import { TablePredicate } from './table-predicate/TablePredicate';
|
|
19
20
|
export type RowSelectionWithData<TData> = Record<string, TData>;
|
|
20
21
|
export interface RowSelectionState<TData> {
|
|
21
22
|
rowSelection: RowSelectionWithData<TData>;
|
|
@@ -47,25 +48,6 @@ export interface TableLayout {
|
|
|
47
48
|
*/
|
|
48
49
|
Body: <T>(props: TableLayoutProps<T>) => ReactElement;
|
|
49
50
|
}
|
|
50
|
-
export interface TableLayoutProps<T = unknown> {
|
|
51
|
-
table: Table<T>;
|
|
52
|
-
loading?: boolean;
|
|
53
|
-
/**
|
|
54
|
-
* Action passed when user double clicks on a row
|
|
55
|
-
*/
|
|
56
|
-
doubleClickAction?: (datum: T) => void;
|
|
57
|
-
/**
|
|
58
|
-
* Function that generates the expandable content of a row
|
|
59
|
-
* Return null for rows that don't need to be expandable
|
|
60
|
-
*
|
|
61
|
-
* @param datum the row for which the children should be generated.
|
|
62
|
-
*/
|
|
63
|
-
getExpandChildren?: (datum: T) => ReactNode;
|
|
64
|
-
/**
|
|
65
|
-
* Whether clicking on a selected row will deselect the row or not.
|
|
66
|
-
*/
|
|
67
|
-
keepSelection?: boolean;
|
|
68
|
-
}
|
|
69
51
|
export type TableFormType = {
|
|
70
52
|
/**
|
|
71
53
|
* Object containing the table predicates and their selected values
|
|
@@ -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,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EACH,SAAS,EACT,WAAW,EACX,iBAAiB,IAAI,yBAAyB,EAC9C,
|
|
1
|
+
{"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/Table.types.ts"],"sourcesContent":["import {Icon} from '@coveord/plasma-react-icons';\nimport {UseFormReturnType} from '@mantine/form';\nimport {\n ColumnDef,\n CoreOptions,\n InitialTableState as TanstackInitialTableState,\n
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/Table.types.ts"],"sourcesContent":["import {Icon} from '@coveord/plasma-react-icons';\nimport {UseFormReturnType} from '@mantine/form';\nimport {\n ColumnDef,\n CoreOptions,\n TableOptions,\n InitialTableState as TanstackInitialTableState,\n TableState as TanstackTableState,\n} from '@tanstack/table-core';\nimport {Dispatch, ReactElement, ReactNode, RefObject} from 'react';\n\nimport {DateRangePickerValue} from '../date-range-picker/DateRangePickerInlineCalendar';\nimport {TableLayoutProps} from './layouts/RowLayout.types'; // TODO https://coveord.atlassian.net/browse/ADUI-9182\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActions} from './table-actions/TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './table-column/TableCollapsibleColumn';\nimport {TableConsumer} from './table-consumer/TableConsumer';\nimport {TableDateRangePicker} from './table-date-range-picker/TableDateRangePicker';\nimport {TableFilter} from './table-filter/TableFilter';\nimport {TableFooter} from './table-footer/TableFooter';\nimport {TableHeader} from './table-header/TableHeader';\nimport {TableLastUpdated} 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} from './table-predicate/TablePredicate';\n\nexport type RowSelectionWithData<TData> = Record<string, TData>;\nexport interface RowSelectionState<TData> {\n rowSelection: RowSelectionWithData<TData>;\n}\n\nexport interface TableState<TData> extends Omit<TanstackTableState, 'rowSelection'>, RowSelectionState<TData> {}\n\nexport interface InitialTableState<TData>\n extends Omit<TanstackInitialTableState, 'rowSelection'>,\n Partial<RowSelectionState<TData>>,\n Partial<TableFormType> {}\n\nexport type onTableChangeEvent<TData> = (params: TableState<TData> & TableFormType) => void;\n\nexport interface TableLayout {\n /**\n * Name of the layout.\n * Will be displayed in the layout control\n */\n name: string;\n /**\n * Icon illustrating the layout.\n * Will be displayed in the layout control\n */\n icon?: Icon;\n /**\n * Header portion of the table.\n * In the standard row layout that is where column headers would be displayed.\n */\n Header: <T>(props: TableLayoutProps<T>) => ReactElement;\n /**\n * Body portion of the table.\n * In the standard row layout that is where the rows would be displayed.\n */\n Body: <T>(props: TableLayoutProps<T>) => ReactElement;\n}\n\nexport type TableFormType = {\n /**\n * Object containing the table predicates and their selected values\n *\n * @example {type: \"LONG\", origin: \"system\"}\n */\n predicates: Record<string, string>;\n /**\n * Selected date range in the table\n *\n * @example [new Date(2022, 0, 1), new Date(2022, 0, 31)]\n */\n dateRange: DateRangePickerValue;\n /**\n * Selected layout name\n */\n layout: TableLayout['name'];\n};\n\nexport type TableContextType<TData> = {\n /**\n * Function to call when the table needs an update\n */\n onChange: () => void;\n /**\n * Internal state of the table\n *\n * @see https://tanstack.com/table/v8/docs/api/core/table#state\n */\n state: TableState<TData>;\n /**\n * Function to update the table state\n */\n setState: Dispatch<(prevState: TableState<TData>) => TableState<TData>>;\n /**\n * Whether the table currently as any kind of filter applied.\n * Useful to determine if the noDataChildren is an empty state or just the result of a filter\n */\n isFiltered: boolean;\n /**\n * Function that clears the filter and predicates\n */\n clearFilters: () => void;\n /**\n * Function that returns the selected row if any.\n */\n getSelectedRow: () => TData | null;\n /**\n * Function that returns an array of the selected rows. Most useful when multi row selection is enabled.\n */\n getSelectedRows: () => TData[];\n /**\n * Function that clear the selected row\n */\n clearSelection: () => void;\n /**\n * Form used to handle predicates and dateRange\n */\n form: UseFormReturnType<TableFormType>;\n /**\n * Table container ref\n */\n containerRef: RefObject<HTMLDivElement>;\n /**\n * Whether multi row selection is activated\n */\n multiRowSelectionEnabled: boolean;\n /**\n * Whether row selection is enabled or not\n */\n disableRowSelection: boolean;\n /**\n * Function that returns the number of pages\n */\n getPageCount: () => number;\n /**\n * Available layouts. When more than one layout is provided, it will display a layout control to switch between them.\n */\n layouts: TableLayout[];\n};\n\nexport interface TableProps<T> {\n /**\n * Data to display in the table\n */\n data: T[];\n /**\n * Defines how each row is uniquely identified. It is highly recommended that you specify this prop to an ID that makes sense.\n */\n getRowId?: CoreOptions<T>['getRowId'];\n /**\n * Columns to display in the table.\n *\n * @see https://tanstack.com/table/v8/docs/guide/column-defs\n */\n columns: Array<ColumnDef<T>>;\n /**\n * Available layouts\n *\n * @default [Table.Layouts.Rows]\n */\n layouts?: TableLayout[];\n /**\n * Function called when the table mounts\n *\n * @param state the state of the table\n */\n onMount?: onTableChangeEvent<T>;\n /**\n * Function called when the table should update\n *\n * @param state the state of the table\n */\n onChange?: onTableChangeEvent<T>;\n /**\n * Function that generates the expandable content of a row\n * Return null for rows that don't need to be expandable\n *\n * @param datum the row for which the children should be generated.\n */\n getExpandChildren?: (datum: T) => ReactNode;\n /**\n * React children to show when the table has no rows to show. You can leverage useTable to get the state of the table\n */\n noDataChildren?: ReactNode;\n /**\n * Whether the table is loading or not\n *\n * @default false\n */\n loading?: boolean;\n /**\n * Childrens to display in the table. They need to be wrap in either `Table.Header` or `Table.Footer`\n *\n * @example\n * <Table ...>\n * <Table.Header>\n * <div>Hello</div>\n * </Table.Header>\n * </Table>\n */\n children?: ReactNode;\n /**\n * Initial state of the table\n */\n initialState?: InitialTableState<T>;\n /**\n * Action passed when user double clicks on a row\n */\n doubleClickAction?: (datum: T) => void;\n /**\n * Function called whenever the row selection changes\n *\n * @param selectedRows The selected rows\n */\n onRowSelectionChange?: (selectedRows: T[]) => void;\n /**\n * Whether the user can select multiple rows in order to perform actions in bulk\n *\n * @default false\n */\n multiRowSelectionEnabled?: boolean;\n /**\n * Whether row selection is enabled or not\n *\n * @default false\n */\n disableRowSelection?: boolean;\n /**\n * Nodes that are considered inside the table.\n *\n * Rows normally get unselected when clicking outside the table, but sometimes it has difficulties guessing what is inside or outside, for example when using modals.\n * You can use this prop to force the table to consider some nodes to be inside the table.\n *\n * @see https://mantine.dev/hooks/use-click-outside/#multiple-nodes\n */\n additionalRootNodes?: HTMLElement[];\n /**\n * Additional options that can be passed to the table\n */\n options?: Omit<\n Partial<TableOptions<T>>,\n | 'initialState'\n | 'data'\n | 'columns'\n | 'manualPagination'\n | 'enableMultiRowSelection'\n | 'getRowId'\n | 'getRowCanExpand'\n | 'enableRowSelection'\n | 'onRowSelectionChange'\n >;\n}\n\nexport interface TableType {\n <T>(props: TableProps<T>): ReactElement;\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 AccordionColumn: typeof TableAccordionColumn;\n Consumer: typeof TableConsumer;\n Loading: typeof TableLoading;\n Layouts: typeof TableLayouts;\n}\n"],"names":[],"mappings":"AAAA,WAkRC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
export { flexRender as renderTableCell } from '@tanstack/react-table';
|
|
1
2
|
export * from './Table';
|
|
3
|
+
export { type InitialTableState, type TableLayout, type TableProps, type TableState, type onTableChangeEvent, } from './Table.types';
|
|
2
4
|
export { useTable } from './TableContext';
|
|
3
|
-
export { type
|
|
4
|
-
export { flexRender as renderTableCell } from '@tanstack/react-table';
|
|
5
|
+
export { type TableLayoutProps } from './layouts/RowLayout.types';
|
|
5
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,
|
|
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,EACH,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,kBAAkB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,KAAK,gBAAgB,EAAC,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
export { flexRender as renderTableCell } from "@tanstack/react-table";
|
|
1
2
|
export * from "./Table";
|
|
2
3
|
export { useTable } from "./TableContext";
|
|
3
|
-
|
|
4
|
+
// TODO https://coveord.atlassian.net/browse/ADUI-9182
|
|
4
5
|
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export {flexRender as renderTableCell} from '@tanstack/react-table';\nexport * from './Table';\nexport {\n type InitialTableState,\n type TableLayout,\n type TableProps,\n type TableState,\n type onTableChangeEvent,\n} from './Table.types';\nexport {useTable} from './TableContext';\nexport {type TableLayoutProps} from './layouts/RowLayout.types'; // TODO https://coveord.atlassian.net/browse/ADUI-9182\n"],"names":["flexRender","renderTableCell","useTable"],"mappings":"AAAA,SAAQA,cAAcC,eAAe,QAAO,wBAAwB;AACpE,cAAc,UAAU;AAQxB,SAAQC,QAAQ,QAAO,iBAAiB;CACyB,sDAAsD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowLayout.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/RowLayout.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"RowLayout.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/RowLayout.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AA+H3C,eAAO,MAAM,SAAS,EAAE,WAKvB,CAAC"}
|
|
@@ -1,76 +1,19 @@
|
|
|
1
1
|
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
2
2
|
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
3
3
|
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
4
|
+
import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
|
|
4
5
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
5
6
|
import { ListSize16Px } from "@coveord/plasma-react-icons";
|
|
6
|
-
import { Box, Collapse
|
|
7
|
+
import { Box, Collapse } from "@mantine/core";
|
|
7
8
|
import { flexRender } from "@tanstack/react-table";
|
|
8
9
|
import { defaultColumnSizing } from "@tanstack/table-core";
|
|
9
10
|
import { Fragment } from "react";
|
|
10
|
-
import { TableCollapsibleColumn } from "../TableCollapsibleColumn";
|
|
11
11
|
import { useTable } from "../TableContext";
|
|
12
|
-
import {
|
|
13
|
-
import { TableSelectableColumn } from "../TableSelectableColumn";
|
|
14
|
-
import { Th } from "../Th";
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
var rowBackgroundColor = theme.colorScheme === "dark" ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors.gray[1];
|
|
18
|
-
var border = "".concat(rem(1), " solid ").concat(theme.colorScheme === "dark" ? theme.colors.dark[4] : theme.colors.gray[3]);
|
|
19
|
-
return {
|
|
20
|
-
headerColumns: {
|
|
21
|
-
"& th:first-of-type > *": {
|
|
22
|
-
paddingLeft: "40px"
|
|
23
|
-
},
|
|
24
|
-
"& input[type=checkbox]": {
|
|
25
|
-
backgroundColor: disableRowSelection ? "".concat(theme.colors.gray[2]) : undefined,
|
|
26
|
-
borderColor: disableRowSelection ? "".concat(theme.colors.gray[3]) : "".concat(theme.colors.gray[4]),
|
|
27
|
-
pointerEvents: disableRowSelection ? "none" : "auto",
|
|
28
|
-
cursor: disableRowSelection ? "not-allowed" : "default",
|
|
29
|
-
"& + svg": {
|
|
30
|
-
color: disableRowSelection ? "".concat(theme.colors.gray[5]) : "inherit"
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
rowSelected: {
|
|
35
|
-
backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor
|
|
36
|
-
},
|
|
37
|
-
rowUnselectable: {
|
|
38
|
-
"& input[type=checkbox]": {
|
|
39
|
-
backgroundColor: "".concat(theme.colors.gray[2]),
|
|
40
|
-
borderColor: "".concat(theme.colors.gray[3]),
|
|
41
|
-
pointerEvents: "none",
|
|
42
|
-
cursor: "not-allowed",
|
|
43
|
-
"&:checked + svg": {
|
|
44
|
-
color: "".concat(theme.colors.gray[5])
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
rowCollapsibleButtonCell: {
|
|
49
|
-
textAlign: "right",
|
|
50
|
-
padding: "calc(".concat(theme.spacing.xs, "/2) ").concat(theme.spacing.sm, " !important")
|
|
51
|
-
},
|
|
52
|
-
row: {
|
|
53
|
-
"& td:first-of-type": {
|
|
54
|
-
paddingLeft: "40px"
|
|
55
|
-
},
|
|
56
|
-
"&:hover": {
|
|
57
|
-
backgroundColor: rowBackgroundColor
|
|
58
|
-
},
|
|
59
|
-
overflowWrap: "anywhere"
|
|
60
|
-
},
|
|
61
|
-
cell: {
|
|
62
|
-
verticalAlign: "middle",
|
|
63
|
-
// We must use height instead of minHeight here, otherwise it doesn't apply
|
|
64
|
-
height: "56px",
|
|
65
|
-
padding: "".concat(theme.spacing.xs, " ").concat(theme.spacing.sm),
|
|
66
|
-
borderBottom: border
|
|
67
|
-
},
|
|
68
|
-
collapsible: {
|
|
69
|
-
backgroundColor: rowBackgroundColor,
|
|
70
|
-
borderBottom: border
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
});
|
|
12
|
+
import { TableCollapsibleColumn } from "../table-column/TableCollapsibleColumn";
|
|
13
|
+
import { TableSelectableColumn } from "../table-column/TableSelectableColumn";
|
|
14
|
+
import { Th } from "../table-header/Th";
|
|
15
|
+
import { TableLoading } from "../table-loading/TableLoading";
|
|
16
|
+
import useStyles from "./RowLayout.styles";
|
|
74
17
|
var RowLayoutHeader = function(param) {
|
|
75
18
|
var table = param.table;
|
|
76
19
|
var _useTable = useTable(), multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled, disableRowSelection = _useTable.disableRowSelection;
|
|
@@ -92,12 +35,26 @@ var RowLayoutHeader = function(param) {
|
|
|
92
35
|
children: headers
|
|
93
36
|
});
|
|
94
37
|
};
|
|
95
|
-
var RowLayoutBody = function(
|
|
96
|
-
var table =
|
|
38
|
+
var RowLayoutBody = function(_param) {
|
|
39
|
+
var table = _param.table, doubleClickAction = _param.doubleClickAction, getExpandChildren = _param.getExpandChildren, loading = _param.loading, keepSelection = _param.keepSelection, classNames = _param.classNames, styles = _param.styles, unstyled = _param.unstyled, others = _object_without_properties(_param, [
|
|
40
|
+
"table",
|
|
41
|
+
"doubleClickAction",
|
|
42
|
+
"getExpandChildren",
|
|
43
|
+
"loading",
|
|
44
|
+
"keepSelection",
|
|
45
|
+
"classNames",
|
|
46
|
+
"styles",
|
|
47
|
+
"unstyled"
|
|
48
|
+
]);
|
|
97
49
|
var _useTable = useTable(), multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled, disableRowSelection = _useTable.disableRowSelection;
|
|
98
50
|
var _useStyles = useStyles({
|
|
99
51
|
disableRowSelection: disableRowSelection,
|
|
100
52
|
multiRowSelectionEnabled: multiRowSelectionEnabled
|
|
53
|
+
}, {
|
|
54
|
+
name: "RowLayout",
|
|
55
|
+
classNames: classNames,
|
|
56
|
+
styles: styles,
|
|
57
|
+
unstyled: unstyled
|
|
101
58
|
}), classes = _useStyles.classes, cx = _useStyles.cx;
|
|
102
59
|
var toggleCollapsible = function(el) {
|
|
103
60
|
var cell = el.children[el.children.length - 1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/table/layouts/RowLayout.tsx"],"sourcesContent":["import {ListSize16Px} from '@coveord/plasma-react-icons';\nimport {Box, Collapse, createStyles, rem} from '@mantine/core';\nimport {flexRender} from '@tanstack/react-table';\nimport {defaultColumnSizing} from '@tanstack/table-core';\nimport {Fragment, type MouseEvent} from 'react';\nimport {TableLayout, TableLayoutProps} from '../Table.types';\nimport {TableCollapsibleColumn} from '../TableCollapsibleColumn';\nimport {useTable} from '../TableContext';\nimport {TableLoading} from '../TableLoading';\nimport {TableSelectableColumn} from '../TableSelectableColumn';\nimport {Th} from '../Th';\n\ninterface TableStylesParams {\n multiRowSelectionEnabled: boolean;\n disableRowSelection: boolean;\n}\n\nconst useStyles = createStyles<string, TableStylesParams>((theme, {multiRowSelectionEnabled, disableRowSelection}) => {\n const rowBackgroundColor =\n theme.colorScheme === 'dark' ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors.gray[1];\n const border = `${rem(1)} solid ${theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[3]}`;\n return {\n headerColumns: {\n '& th:first-of-type > *': {\n paddingLeft: '40px',\n },\n\n '& input[type=checkbox]': {\n backgroundColor: disableRowSelection ? `${theme.colors.gray[2]}` : undefined,\n borderColor: disableRowSelection ? `${theme.colors.gray[3]}` : `${theme.colors.gray[4]}`,\n pointerEvents: disableRowSelection ? 'none' : 'auto',\n cursor: disableRowSelection ? 'not-allowed' : 'default',\n\n '& + svg': {\n color: disableRowSelection ? `${theme.colors.gray[5]}` : 'inherit',\n },\n },\n },\n\n rowSelected: {\n backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor,\n },\n\n rowUnselectable: {\n '& input[type=checkbox]': {\n backgroundColor: `${theme.colors.gray[2]}`,\n borderColor: `${theme.colors.gray[3]}`,\n pointerEvents: 'none',\n cursor: 'not-allowed',\n\n '&:checked + svg': {\n color: `${theme.colors.gray[5]}`,\n },\n },\n },\n\n rowCollapsibleButtonCell: {\n textAlign: 'right',\n padding: `calc(${theme.spacing.xs}/2) ${theme.spacing.sm} !important`,\n },\n\n row: {\n '& td:first-of-type': {\n paddingLeft: '40px',\n },\n '&:hover': {\n backgroundColor: rowBackgroundColor,\n },\n overflowWrap: 'anywhere',\n },\n\n cell: {\n verticalAlign: 'middle',\n // We must use height instead of minHeight here, otherwise it doesn't apply\n height: '56px',\n padding: `${theme.spacing.xs} ${theme.spacing.sm}`,\n borderBottom: border,\n },\n\n collapsible: {\n backgroundColor: rowBackgroundColor,\n borderBottom: border,\n },\n };\n});\n\nconst RowLayoutHeader = <T,>({table}: TableLayoutProps<T>) => {\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const {classes} = useStyles({disableRowSelection, multiRowSelectionEnabled});\n const headers = table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id} className={classes.headerColumns}>\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ));\n return <>{headers}</>;\n};\n\nconst RowLayoutBody = <T,>({\n table,\n doubleClickAction,\n getExpandChildren,\n loading,\n keepSelection,\n}: TableLayoutProps<T>) => {\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const {classes, cx} = useStyles({disableRowSelection, multiRowSelectionEnabled});\n\n const toggleCollapsible = (el: HTMLTableRowElement) => {\n const cell = el.children[el.children.length - 1] as HTMLTableCellElement;\n cell.querySelector('button').click();\n };\n\n const rows = table.getRowModel().rows.map((row) => {\n const rowChildren = getExpandChildren?.(row.original) ?? null;\n const isSelected = !!row.getIsSelected();\n const shouldKeepSelection = keepSelection && isSelected;\n const onClick = (event: MouseEvent<HTMLTableRowElement>) => {\n if (rowChildren) {\n toggleCollapsible(event.currentTarget);\n }\n if (!disableRowSelection && !multiRowSelectionEnabled && !shouldKeepSelection) {\n row.toggleSelected();\n }\n };\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={onClick}\n onDoubleClick={() => doubleClickAction?.(row.original)}\n className={cx(classes.row, {\n [classes.rowSelected]: isSelected,\n [classes.rowUnselectable]: disableRowSelection,\n })}\n aria-selected={isSelected}\n data-testid={row.id}\n >\n {row.getVisibleCells().map((cell) => {\n const columnSizing = {\n ...defaultColumnSizing,\n size: cell.column.columnDef.size,\n minSize: cell.column.columnDef.minSize,\n maxSize: cell.column.columnDef.maxSize,\n };\n\n const onCollapsibleCellClick = (event: MouseEvent<HTMLTableCellElement>) => {\n if (cell.column.id === TableSelectableColumn.id && !disableRowSelection) {\n event.stopPropagation();\n row.getToggleSelectedHandler();\n }\n };\n return (\n <td\n key={cell.id}\n data-testid={cell.id}\n style={{\n width: columnSizing.size ?? 'auto',\n minWidth: columnSizing.minSize,\n maxWidth: columnSizing.maxSize,\n }}\n className={cx(classes.cell, {\n [classes.rowCollapsibleButtonCell]: cell.column.id === TableCollapsibleColumn.id,\n })}\n onClick={onCollapsibleCellClick}\n >\n <TableLoading visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableLoading>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box className={classes.collapsible} px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return <>{rows}</>;\n};\n\nexport const RowLayout: TableLayout = {\n name: 'Rows',\n icon: ListSize16Px,\n Header: RowLayoutHeader,\n Body: RowLayoutBody,\n};\n"],"names":["ListSize16Px","Box","Collapse","createStyles","rem","flexRender","defaultColumnSizing","Fragment","TableCollapsibleColumn","useTable","TableLoading","TableSelectableColumn","Th","useStyles","theme","multiRowSelectionEnabled","disableRowSelection","rowBackgroundColor","colorScheme","fn","rgba","colors","primaryColor","gray","border","dark","headerColumns","paddingLeft","backgroundColor","undefined","borderColor","pointerEvents","cursor","color","rowSelected","rowUnselectable","rowCollapsibleButtonCell","textAlign","padding","spacing","xs","sm","row","overflowWrap","cell","verticalAlign","height","borderBottom","collapsible","RowLayoutHeader","table","classes","headers","getHeaderGroups","map","headerGroup","tr","className","columnHeader","header","id","RowLayoutBody","doubleClickAction","getExpandChildren","loading","keepSelection","cx","toggleCollapsible","el","children","length","querySelector","click","rows","getRowModel","rowChildren","original","isSelected","getIsSelected","shouldKeepSelection","onClick","event","currentTarget","toggleSelected","onDoubleClick","aria-selected","data-testid","getVisibleCells","columnSizing","size","column","columnDef","minSize","maxSize","onCollapsibleCellClick","stopPropagation","getToggleSelectedHandler","td","style","width","minWidth","maxWidth","visible","getContext","colSpan","getAllColumns","in","getIsExpanded","px","py","RowLayout","name","icon","Header","Body"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/table/layouts/RowLayout.tsx"],"sourcesContent":["import {ListSize16Px} from '@coveord/plasma-react-icons';\nimport {Box, Collapse} from '@mantine/core';\nimport {flexRender} from '@tanstack/react-table';\nimport {defaultColumnSizing} from '@tanstack/table-core';\nimport {Fragment, type MouseEvent} from 'react';\nimport {TableLayout} from '../Table.types';\nimport {useTable} from '../TableContext';\nimport {TableCollapsibleColumn} from '../table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from '../table-column/TableSelectableColumn';\nimport {Th} from '../table-header/Th';\nimport {TableLoading} from '../table-loading/TableLoading';\nimport useStyles from './RowLayout.styles';\nimport {TableLayoutProps} from './RowLayout.types'; // TODO https://coveord.atlassian.net/browse/ADUI-9182\n\nconst RowLayoutHeader = <T,>({table}: TableLayoutProps<T>) => {\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const {classes} = useStyles({disableRowSelection, multiRowSelectionEnabled});\n const headers = table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id} className={classes.headerColumns}>\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ));\n return <>{headers}</>;\n};\n\nconst RowLayoutBody = <T,>({\n table,\n doubleClickAction,\n getExpandChildren,\n loading,\n keepSelection,\n classNames,\n styles,\n unstyled,\n ...others\n}: TableLayoutProps<T>) => {\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const {classes, cx} = useStyles(\n {disableRowSelection, multiRowSelectionEnabled},\n {name: 'RowLayout', classNames, styles, unstyled},\n );\n\n const toggleCollapsible = (el: HTMLTableRowElement) => {\n const cell = el.children[el.children.length - 1] as HTMLTableCellElement;\n cell.querySelector('button').click();\n };\n\n const rows = table.getRowModel().rows.map((row) => {\n const rowChildren = getExpandChildren?.(row.original) ?? null;\n const isSelected = !!row.getIsSelected();\n const shouldKeepSelection = keepSelection && isSelected;\n const onClick = (event: MouseEvent<HTMLTableRowElement>) => {\n if (rowChildren) {\n toggleCollapsible(event.currentTarget);\n }\n if (!disableRowSelection && !multiRowSelectionEnabled && !shouldKeepSelection) {\n row.toggleSelected();\n }\n };\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={onClick}\n onDoubleClick={() => doubleClickAction?.(row.original)}\n className={cx(classes.row, {\n [classes.rowSelected]: isSelected,\n [classes.rowUnselectable]: disableRowSelection,\n })}\n aria-selected={isSelected}\n data-testid={row.id}\n >\n {row.getVisibleCells().map((cell) => {\n const columnSizing = {\n ...defaultColumnSizing,\n size: cell.column.columnDef.size,\n minSize: cell.column.columnDef.minSize,\n maxSize: cell.column.columnDef.maxSize,\n };\n\n const onCollapsibleCellClick = (event: MouseEvent<HTMLTableCellElement>) => {\n if (cell.column.id === TableSelectableColumn.id && !disableRowSelection) {\n event.stopPropagation();\n row.getToggleSelectedHandler();\n }\n };\n return (\n <td\n key={cell.id}\n data-testid={cell.id}\n style={{\n width: columnSizing.size ?? 'auto',\n minWidth: columnSizing.minSize,\n maxWidth: columnSizing.maxSize,\n }}\n className={cx(classes.cell, {\n [classes.rowCollapsibleButtonCell]: cell.column.id === TableCollapsibleColumn.id,\n })}\n onClick={onCollapsibleCellClick}\n >\n <TableLoading visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableLoading>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box className={classes.collapsible} px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return <>{rows}</>;\n};\n\nexport const RowLayout: TableLayout = {\n name: 'Rows',\n icon: ListSize16Px,\n Header: RowLayoutHeader,\n Body: RowLayoutBody,\n};\n"],"names":["ListSize16Px","Box","Collapse","flexRender","defaultColumnSizing","Fragment","useTable","TableCollapsibleColumn","TableSelectableColumn","Th","TableLoading","useStyles","RowLayoutHeader","table","multiRowSelectionEnabled","disableRowSelection","classes","headers","getHeaderGroups","map","headerGroup","tr","className","headerColumns","columnHeader","header","id","RowLayoutBody","doubleClickAction","getExpandChildren","loading","keepSelection","classNames","styles","unstyled","others","name","cx","toggleCollapsible","el","cell","children","length","querySelector","click","rows","getRowModel","row","rowChildren","original","isSelected","getIsSelected","shouldKeepSelection","onClick","event","currentTarget","toggleSelected","onDoubleClick","rowSelected","rowUnselectable","aria-selected","data-testid","getVisibleCells","columnSizing","size","column","columnDef","minSize","maxSize","onCollapsibleCellClick","stopPropagation","getToggleSelectedHandler","td","style","width","minWidth","maxWidth","rowCollapsibleButtonCell","visible","getContext","colSpan","getAllColumns","padding","in","getIsExpanded","collapsible","px","py","RowLayout","icon","Header","Body"],"mappings":";;;;;AAAA,SAAQA,YAAY,QAAO,8BAA8B;AACzD,SAAQC,GAAG,EAAEC,QAAQ,QAAO,gBAAgB;AAC5C,SAAQC,UAAU,QAAO,wBAAwB;AACjD,SAAQC,mBAAmB,QAAO,uBAAuB;AACzD,SAAQC,QAAQ,QAAwB,QAAQ;AAEhD,SAAQC,QAAQ,QAAO,kBAAkB;AACzC,SAAQC,sBAAsB,QAAO,yCAAyC;AAC9E,SAAQC,qBAAqB,QAAO,wCAAwC;AAC5E,SAAQC,EAAE,QAAO,qBAAqB;AACtC,SAAQC,YAAY,QAAO,gCAAgC;AAC3D,OAAOC,eAAe,qBAAqB;AAG3C,IAAMC,kBAAkB;QAAMC,cAAAA;IAC1B,IAAwDP,YAAAA,YAAjDQ,2BAAiDR,UAAjDQ,0BAA0BC,sBAAuBT,UAAvBS;IACjC,IAAM,AAACC,UAAWL,UAAU;QAACI,qBAAAA;QAAqBD,0BAAAA;IAAwB,GAAnEE;IACP,IAAMC,UAAUJ,MAAMK,eAAe,GAAGC,GAAG,CAAC,SAACC;6BACzC,KAACC;YAAwBC,WAAWN,QAAQO,aAAa;sBACpDH,YAAYH,OAAO,CAACE,GAAG,CAAC,SAACK;qCACtB,KAACf;oBAAyBgB,QAAQD;mBAAzBA,aAAaE,EAAE;;WAFvBN,YAAYM,EAAE;;IAM3B,qBAAO;kBAAGT;;AACd;AAEA,IAAMU,gBAAgB;QAClBd,eAAAA,OACAe,2BAAAA,mBACAC,2BAAAA,mBACAC,iBAAAA,SACAC,uBAAAA,eACAC,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACGC;QARHtB;QACAe;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAwD5B,YAAAA,YAAjDQ,2BAAiDR,UAAjDQ,0BAA0BC,sBAAuBT,UAAvBS;IACjC,IAAsBJ,aAAAA,UAClB;QAACI,qBAAAA;QAAqBD,0BAAAA;IAAwB,GAC9C;QAACsB,MAAM;QAAaJ,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,IAF7ClB,UAAeL,WAAfK,SAASqB,KAAM1B,WAAN0B;IAKhB,IAAMC,oBAAoB,SAACC;QACvB,IAAMC,OAAOD,GAAGE,QAAQ,CAACF,GAAGE,QAAQ,CAACC,MAAM,GAAG,EAAE;QAChDF,KAAKG,aAAa,CAAC,UAAUC,KAAK;IACtC;IAEA,IAAMC,OAAOhC,MAAMiC,WAAW,GAAGD,IAAI,CAAC1B,GAAG,CAAC,SAAC4B;YACnBlB;YAAAA;QAApB,IAAMmB,cAAcnB,CAAAA,uBAAAA,qBAAAA,+BAAAA,yCAAAA,mBAAoBkB,IAAIE,QAAQ,eAAhCpB,iCAAAA,sBAAqC;QACzD,IAAMqB,aAAa,CAAC,CAACH,IAAII,aAAa;QACtC,IAAMC,sBAAsBrB,iBAAiBmB;QAC7C,IAAMG,UAAU,SAACC;YACb,IAAIN,aAAa;gBACbV,kBAAkBgB,MAAMC,aAAa;YACzC;YACA,IAAI,CAACxC,uBAAuB,CAACD,4BAA4B,CAACsC,qBAAqB;gBAC3EL,IAAIS,cAAc;YACtB;QACJ;YAOuC;QALvC,qBACI,MAACnD;;8BACG,KAACgB;oBACGgC,SAASA;oBACTI,eAAe;4BAAM7B;gCAAAA,qBAAAA,+BAAAA,yCAAAA,mBAAoBmB,IAAIE,QAAQ;;oBACrD3B,WAAWe,GAAGrB,QAAQ+B,GAAG,GAAE,WACvB,iBADuB,MACtB/B,QAAQ0C,WAAW,EAAGR,aACvB,iBAFuB,MAEtBlC,QAAQ2C,eAAe,EAAG5C,sBAFJ;oBAI3B6C,iBAAeV;oBACfW,eAAad,IAAIrB,EAAE;8BAElBqB,IAAIe,eAAe,GAAG3C,GAAG,CAAC,SAACqB;wBACxB,IAAMuB,eAAe,wCACd3D;4BACH4D,MAAMxB,KAAKyB,MAAM,CAACC,SAAS,CAACF,IAAI;4BAChCG,SAAS3B,KAAKyB,MAAM,CAACC,SAAS,CAACC,OAAO;4BACtCC,SAAS5B,KAAKyB,MAAM,CAACC,SAAS,CAACE,OAAO;;wBAG1C,IAAMC,yBAAyB,SAACf;4BAC5B,IAAId,KAAKyB,MAAM,CAACvC,EAAE,KAAKlB,sBAAsBkB,EAAE,IAAI,CAACX,qBAAqB;gCACrEuC,MAAMgB,eAAe;gCACrBvB,IAAIwB,wBAAwB;4BAChC;wBACJ;4BAMmBR;wBALnB,qBACI,KAACS;4BAEGX,eAAarB,KAAKd,EAAE;4BACpB+C,OAAO;gCACHC,OAAOX,CAAAA,qBAAAA,aAAaC,IAAI,cAAjBD,gCAAAA,qBAAqB;gCAC5BY,UAAUZ,aAAaI,OAAO;gCAC9BS,UAAUb,aAAaK,OAAO;4BAClC;4BACA9C,WAAWe,GAAGrB,QAAQwB,IAAI,EACtB,qBAACxB,QAAQ6D,wBAAwB,EAAGrC,KAAKyB,MAAM,CAACvC,EAAE,KAAKnB,uBAAuBmB,EAAE;4BAEpF2B,SAASgB;sCAET,cAAA,KAAC3D;gCAAaoE,SAAShD;0CAClB3B,WAAWqC,KAAKyB,MAAM,CAACC,SAAS,CAAC1B,IAAI,EAAEA,KAAKuC,UAAU;;2BAbtDvC,KAAKd,EAAE;oBAiBxB;;gBAEHsB,4BACG,KAAC3B;8BACG,cAAA,KAACmD;wBACGQ,SAASnE,MAAMoE,aAAa,GAAGvC,MAAM;wBACrC+B,OAAO;4BACHS,SAAS;wBACb;kCAEA,cAAA,KAAChF;4BAASiF,IAAIpC,IAAIqC,aAAa;sCAC3B,cAAA,KAACnF;gCAAIqB,WAAWN,QAAQqE,WAAW;gCAAEC,IAAG;gCAAKC,IAAG;0CAC3CvC;;;;qBAKjB;;WA7DOD,IAAIrB,EAAE;IAgE7B;IAEA,qBAAO;kBAAGmB;;AACd;AAEA,OAAO,IAAM2C,YAAyB;IAClCpD,MAAM;IACNqD,MAAMzF;IACN0F,QAAQ9E;IACR+E,MAAMhE;AACV,EAAE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface RowLayoutStylesParams {
|
|
2
|
+
multiRowSelectionEnabled: boolean;
|
|
3
|
+
disableRowSelection: boolean;
|
|
4
|
+
}
|
|
5
|
+
declare const _default: (params: RowLayoutStylesParams, options?: import("@mantine/core").UseStylesOptions<string>) => {
|
|
6
|
+
classes: {
|
|
7
|
+
[x: string]: string;
|
|
8
|
+
};
|
|
9
|
+
cx: (...args: any) => string;
|
|
10
|
+
theme: import("@mantine/core").MantineTheme;
|
|
11
|
+
};
|
|
12
|
+
export default _default;
|
|
13
|
+
//# sourceMappingURL=RowLayout.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RowLayout.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/RowLayout.styles.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,qBAAqB;IAClC,wBAAwB,EAAE,OAAO,CAAC;IAClC,mBAAmB,EAAE,OAAO,CAAC;CAChC;;;;;;;;AAED,wBAmEG"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { createStyles, rem } from "@mantine/core";
|
|
2
|
+
export default createStyles(function(theme, param) {
|
|
3
|
+
var multiRowSelectionEnabled = param.multiRowSelectionEnabled, disableRowSelection = param.disableRowSelection;
|
|
4
|
+
var rowBackgroundColor = theme.colorScheme === "dark" ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors.gray[1];
|
|
5
|
+
var border = "".concat(rem(1), " solid ").concat(theme.colorScheme === "dark" ? theme.colors.dark[4] : theme.colors.gray[3]);
|
|
6
|
+
return {
|
|
7
|
+
headerColumns: {
|
|
8
|
+
"& th:first-of-type > *": {
|
|
9
|
+
paddingLeft: "40px"
|
|
10
|
+
},
|
|
11
|
+
"& input[type=checkbox]": {
|
|
12
|
+
backgroundColor: disableRowSelection ? "".concat(theme.colors.gray[2]) : undefined,
|
|
13
|
+
borderColor: disableRowSelection ? "".concat(theme.colors.gray[3]) : "".concat(theme.colors.gray[4]),
|
|
14
|
+
pointerEvents: disableRowSelection ? "none" : "auto",
|
|
15
|
+
cursor: disableRowSelection ? "not-allowed" : "default",
|
|
16
|
+
"& + svg": {
|
|
17
|
+
color: disableRowSelection ? "".concat(theme.colors.gray[5]) : "inherit"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
rowSelected: {
|
|
22
|
+
backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor
|
|
23
|
+
},
|
|
24
|
+
rowUnselectable: {
|
|
25
|
+
"& input[type=checkbox]": {
|
|
26
|
+
backgroundColor: "".concat(theme.colors.gray[2]),
|
|
27
|
+
borderColor: "".concat(theme.colors.gray[3]),
|
|
28
|
+
pointerEvents: "none",
|
|
29
|
+
cursor: "not-allowed",
|
|
30
|
+
"&:checked + svg": {
|
|
31
|
+
color: "".concat(theme.colors.gray[5])
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
rowCollapsibleButtonCell: {
|
|
36
|
+
textAlign: "right",
|
|
37
|
+
padding: "calc(".concat(theme.spacing.xs, "/2) ").concat(theme.spacing.sm, " !important")
|
|
38
|
+
},
|
|
39
|
+
row: {
|
|
40
|
+
"& td:first-of-type": {
|
|
41
|
+
paddingLeft: "40px"
|
|
42
|
+
},
|
|
43
|
+
"&:hover": {
|
|
44
|
+
backgroundColor: rowBackgroundColor
|
|
45
|
+
},
|
|
46
|
+
overflowWrap: "anywhere"
|
|
47
|
+
},
|
|
48
|
+
cell: {
|
|
49
|
+
verticalAlign: "middle",
|
|
50
|
+
// We must use height instead of minHeight here, otherwise it doesn't apply
|
|
51
|
+
height: "56px",
|
|
52
|
+
padding: "".concat(theme.spacing.xs, " ").concat(theme.spacing.sm),
|
|
53
|
+
borderBottom: border
|
|
54
|
+
},
|
|
55
|
+
collapsible: {
|
|
56
|
+
backgroundColor: rowBackgroundColor,
|
|
57
|
+
borderBottom: border
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=RowLayout.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/table/layouts/RowLayout.styles.ts"],"sourcesContent":["import {createStyles, rem} from '@mantine/core';\nexport interface RowLayoutStylesParams {\n multiRowSelectionEnabled: boolean;\n disableRowSelection: boolean;\n}\n\nexport default createStyles<string, RowLayoutStylesParams>((theme, {multiRowSelectionEnabled, disableRowSelection}) => {\n const rowBackgroundColor =\n theme.colorScheme === 'dark' ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors.gray[1];\n const border = `${rem(1)} solid ${theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[3]}`;\n return {\n headerColumns: {\n '& th:first-of-type > *': {\n paddingLeft: '40px',\n },\n\n '& input[type=checkbox]': {\n backgroundColor: disableRowSelection ? `${theme.colors.gray[2]}` : undefined,\n borderColor: disableRowSelection ? `${theme.colors.gray[3]}` : `${theme.colors.gray[4]}`,\n pointerEvents: disableRowSelection ? 'none' : 'auto',\n cursor: disableRowSelection ? 'not-allowed' : 'default',\n\n '& + svg': {\n color: disableRowSelection ? `${theme.colors.gray[5]}` : 'inherit',\n },\n },\n },\n\n rowSelected: {\n backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor,\n },\n\n rowUnselectable: {\n '& input[type=checkbox]': {\n backgroundColor: `${theme.colors.gray[2]}`,\n borderColor: `${theme.colors.gray[3]}`,\n pointerEvents: 'none',\n cursor: 'not-allowed',\n\n '&:checked + svg': {\n color: `${theme.colors.gray[5]}`,\n },\n },\n },\n\n rowCollapsibleButtonCell: {\n textAlign: 'right',\n padding: `calc(${theme.spacing.xs}/2) ${theme.spacing.sm} !important`,\n },\n\n row: {\n '& td:first-of-type': {\n paddingLeft: '40px',\n },\n '&:hover': {\n backgroundColor: rowBackgroundColor,\n },\n overflowWrap: 'anywhere',\n },\n\n cell: {\n verticalAlign: 'middle',\n // We must use height instead of minHeight here, otherwise it doesn't apply\n height: '56px',\n padding: `${theme.spacing.xs} ${theme.spacing.sm}`,\n borderBottom: border,\n },\n\n collapsible: {\n backgroundColor: rowBackgroundColor,\n borderBottom: border,\n },\n };\n});\n"],"names":["createStyles","rem","theme","multiRowSelectionEnabled","disableRowSelection","rowBackgroundColor","colorScheme","fn","rgba","colors","primaryColor","gray","border","dark","headerColumns","paddingLeft","backgroundColor","undefined","borderColor","pointerEvents","cursor","color","rowSelected","rowUnselectable","rowCollapsibleButtonCell","textAlign","padding","spacing","xs","sm","row","overflowWrap","cell","verticalAlign","height","borderBottom","collapsible"],"mappings":"AAAA,SAAQA,YAAY,EAAEC,GAAG,QAAO,gBAAgB;AAMhD,eAAeD,aAA4C,SAACE;QAAQC,iCAAAA,0BAA0BC,4BAAAA;IAC1F,IAAMC,qBACFH,MAAMI,WAAW,KAAK,SAASJ,MAAMK,EAAE,CAACC,IAAI,CAACN,MAAMO,MAAM,CAACP,MAAMQ,YAAY,CAAC,CAAC,EAAE,EAAE,OAAOR,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE;IACjH,IAAMC,SAAS,AAAC,GAAkBV,OAAhBD,IAAI,IAAG,WAAoF,OAA3EC,MAAMI,WAAW,KAAK,SAASJ,MAAMO,MAAM,CAACI,IAAI,CAAC,EAAE,GAAGX,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE;IAC5G,OAAO;QACHG,eAAe;YACX,0BAA0B;gBACtBC,aAAa;YACjB;YAEA,0BAA0B;gBACtBC,iBAAiBZ,sBAAsB,AAAC,GAAuB,OAArBF,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE,IAAKM;gBACnEC,aAAad,sBAAsB,AAAC,GAAuB,OAArBF,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE,IAAK,AAAC,GAAuB,OAArBT,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE;gBACtFQ,eAAef,sBAAsB,SAAS;gBAC9CgB,QAAQhB,sBAAsB,gBAAgB;gBAE9C,WAAW;oBACPiB,OAAOjB,sBAAsB,AAAC,GAAuB,OAArBF,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE,IAAK;gBAC7D;YACJ;QACJ;QAEAW,aAAa;YACTN,iBAAiBb,2BAA2Bc,YAAYZ;QAC5D;QAEAkB,iBAAiB;YACb,0BAA0B;gBACtBP,iBAAiB,AAAC,GAAuB,OAArBd,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE;gBACxCO,aAAa,AAAC,GAAuB,OAArBhB,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE;gBACpCQ,eAAe;gBACfC,QAAQ;gBAER,mBAAmB;oBACfC,OAAO,AAAC,GAAuB,OAArBnB,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE;gBAClC;YACJ;QACJ;QAEAa,0BAA0B;YACtBC,WAAW;YACXC,SAAS,AAAC,QAA8BxB,OAAvBA,MAAMyB,OAAO,CAACC,EAAE,EAAC,QAAuB,OAAjB1B,MAAMyB,OAAO,CAACE,EAAE,EAAC;QAC7D;QAEAC,KAAK;YACD,sBAAsB;gBAClBf,aAAa;YACjB;YACA,WAAW;gBACPC,iBAAiBX;YACrB;YACA0B,cAAc;QAClB;QAEAC,MAAM;YACFC,eAAe;YACf,2EAA2E;YAC3EC,QAAQ;YACRR,SAAS,AAAC,GAAsBxB,OAApBA,MAAMyB,OAAO,CAACC,EAAE,EAAC,KAAoB,OAAjB1B,MAAMyB,OAAO,CAACE,EAAE;YAChDM,cAAcvB;QAClB;QAEAwB,aAAa;YACTpB,iBAAiBX;YACjB8B,cAAcvB;QAClB;IACJ;AACJ,GAAG"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { DefaultProps, Selectors } from '@mantine/core';
|
|
2
|
+
import { Table } from '@tanstack/table-core';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
import useStyles, { RowLayoutStylesParams } from './RowLayout.styles';
|
|
5
|
+
type RowLayoutStylesNames = Selectors<typeof useStyles>;
|
|
6
|
+
export interface TableLayoutProps<T = unknown> extends DefaultProps<RowLayoutStylesNames, RowLayoutStylesParams> {
|
|
7
|
+
table: Table<T>;
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Action passed when user double clicks on a row
|
|
11
|
+
*/
|
|
12
|
+
doubleClickAction?: (datum: T) => void;
|
|
13
|
+
/**
|
|
14
|
+
* Function that generates the expandable content of a row
|
|
15
|
+
* Return null for rows that don't need to be expandable
|
|
16
|
+
*
|
|
17
|
+
* @param datum the row for which the children should be generated.
|
|
18
|
+
*/
|
|
19
|
+
getExpandChildren?: (datum: T) => ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* Whether clicking on a selected row will deselect the row or not.
|
|
22
|
+
*/
|
|
23
|
+
keepSelection?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=RowLayout.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RowLayout.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/RowLayout.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AACtD,OAAO,EAAC,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAChC,OAAO,SAAS,EAAE,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AAEpE,KAAK,oBAAoB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAGxD,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,YAAY,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IAC5G,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACvC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAC5C;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/table/layouts/RowLayout.types.ts"],"sourcesContent":["import {DefaultProps, Selectors} from '@mantine/core';\nimport {Table} from '@tanstack/table-core';\nimport {ReactNode} from 'react';\nimport useStyles, {RowLayoutStylesParams} from './RowLayout.styles';\n\ntype RowLayoutStylesNames = Selectors<typeof useStyles>;\n\n// TODO https://coveord.atlassian.net/browse/ADUI-9182\nexport interface TableLayoutProps<T = unknown> extends DefaultProps<RowLayoutStylesNames, RowLayoutStylesParams> {\n table: Table<T>;\n loading?: boolean;\n /**\n * Action passed when user double clicks on a row\n */\n doubleClickAction?: (datum: T) => void;\n /**\n * Function that generates the expandable content of a row\n * Return null for rows that don't need to be expandable\n *\n * @param datum the row for which the children should be generated.\n */\n getExpandChildren?: (datum: T) => ReactNode;\n /**\n * Whether clicking on a selected row will deselect the row or not.\n */\n keepSelection?: boolean;\n}\n"],"names":[],"mappings":"AAAA,WA0BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableLayoutControl.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/TableLayoutControl.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,+CAwB9B,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { Box, Center, Grid, SegmentedControl, Space } from "@mantine/core";
|
|
4
|
-
import { TableComponentsOrder } from "
|
|
5
|
-
import { useTable } from "
|
|
4
|
+
import { TableComponentsOrder } from "../Table.styles";
|
|
5
|
+
import { useTable } from "../TableContext";
|
|
6
6
|
export var TableLayoutControl = function() {
|
|
7
7
|
var _useTable = useTable(), form = _useTable.form, layouts = _useTable.layouts;
|
|
8
8
|
return layouts.length > 1 ? /*#__PURE__*/ _jsx(Grid.Col, {
|