@economic/taco 1.20.0 → 1.21.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/dist/components/Provider/Localization.d.ts +21 -5
- package/dist/components/Table2/Table2.d.ts +21 -5
- package/dist/components/Table2/components/row/Context.d.ts +3 -2
- package/dist/components/Table2/hooks/useTable.d.ts +2 -1
- package/dist/components/Table2/types.d.ts +2 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +21 -5
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/ShortcutsGuideButton.js +20 -14
- package/dist/esm/packages/taco/src/components/Table2/components/ShortcutsGuideButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +60 -42
- package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js +3 -3
- package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js +7 -7
- package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js +2 -2
- package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js +3 -3
- package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +4 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js +5 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useSeparatedChildren.js +2 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useSeparatedChildren.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js +4 -2
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/types.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +15 -13
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +1 -1
- package/dist/taco.cjs.development.js +145 -94
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/package.json +2 -2
- package/types.json +99 -22
@@ -122,11 +122,27 @@ export declare const defaultLocalisationTexts: {
|
|
122
122
|
loading: string;
|
123
123
|
};
|
124
124
|
table2: {
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
125
|
+
shortcuts: {
|
126
|
+
search: string;
|
127
|
+
filter: string;
|
128
|
+
previousRow: string;
|
129
|
+
nextRow: string;
|
130
|
+
editCell: string;
|
131
|
+
previousColumn: string;
|
132
|
+
nextColumn: string;
|
133
|
+
rowClick: string;
|
134
|
+
selectRow: string;
|
135
|
+
selectAllRows: string;
|
136
|
+
expandRow: string;
|
137
|
+
collapseRow: string;
|
138
|
+
};
|
139
|
+
rowIndicator: {
|
140
|
+
rowWillMove: string;
|
141
|
+
rowWillBeFiltered: string;
|
142
|
+
searchFilterMovementReason: string;
|
143
|
+
tableFilterMovementReason: string;
|
144
|
+
sortingMovementReason: string;
|
145
|
+
};
|
130
146
|
};
|
131
147
|
select: {
|
132
148
|
allOptionsSelected: string;
|
@@ -1,11 +1,27 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { Table2Props, Table2ColumnProps, Table2ToolbarProps } from './types';
|
3
3
|
export declare type Table2Texts = {
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
4
|
+
shortcuts: {
|
5
|
+
search: string;
|
6
|
+
filter: string;
|
7
|
+
previousRow: string;
|
8
|
+
nextRow: string;
|
9
|
+
editCell: string;
|
10
|
+
previousColumn: string;
|
11
|
+
nextColumn: string;
|
12
|
+
rowClick: string;
|
13
|
+
selectRow: string;
|
14
|
+
selectAllRows: string;
|
15
|
+
expandRow: string;
|
16
|
+
collapseRow: string;
|
17
|
+
};
|
18
|
+
rowIndicator: {
|
19
|
+
rowWillMove: string;
|
20
|
+
rowWillBeFiltered: string;
|
21
|
+
searchFilterMovementReason: string;
|
22
|
+
tableFilterMovementReason: string;
|
23
|
+
sortingMovementReason: string;
|
24
|
+
};
|
9
25
|
};
|
10
26
|
export declare type ForwardedTable2WithStatics = React.ForwardRefExoticComponent<Table2Props<any>> & {
|
11
27
|
Column: React.FunctionComponent<Table2ColumnProps<any>>;
|
@@ -1,10 +1,11 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { SaveHandlerErrorResponse } from '../../types';
|
3
|
+
import { IndicatorReason } from '../column/Indicator';
|
3
4
|
declare type RowContext = {
|
4
5
|
validationErrors: SaveHandlerErrorResponse;
|
5
6
|
setValidationErrors: React.Dispatch<React.SetStateAction<SaveHandlerErrorResponse>>;
|
6
|
-
|
7
|
-
|
7
|
+
rowMoveReason: Record<string, IndicatorReason | null>;
|
8
|
+
setRowMoveReason: React.Dispatch<React.SetStateAction<Record<string, IndicatorReason | null>>>;
|
8
9
|
};
|
9
10
|
declare const RowContext: React.Context<RowContext>;
|
10
11
|
export declare const useRowContext: () => RowContext;
|
@@ -31,10 +31,11 @@ declare module '@tanstack/table-core' {
|
|
31
31
|
addFocussableColumnIndex: (index: number) => void;
|
32
32
|
resetFocussableColumnIndexes: () => void;
|
33
33
|
tableRef: React.RefObject<HTMLDivElement>;
|
34
|
+
lastSortedOrFilteredRows: React.MutableRefObject<Array<any>>;
|
34
35
|
}
|
35
36
|
}
|
36
37
|
export declare function useTable<TType = any>(children: React.ReactElement<Table2ColumnProps<TType>>[], props: Table2Props<TType>, ref: React.RefObject<HTMLDivElement>): {
|
37
|
-
rows:
|
38
|
+
rows: any;
|
38
39
|
table: import("@tanstack/react-table").Table<TType>;
|
39
40
|
footers: Record<string, import("../types").Table2ColumnFooterRenderer>;
|
40
41
|
};
|
@@ -37,6 +37,7 @@ export declare type Table2ColumnControlProps = {
|
|
37
37
|
disabled?: boolean;
|
38
38
|
readOnly?: boolean;
|
39
39
|
'data-inline-editing-component'?: 'true';
|
40
|
+
className?: string;
|
40
41
|
};
|
41
42
|
export declare type Table2ColumnControlRenderer<TType = any> = ((props: Table2ColumnControlProps, row?: TType) => JSX.Element) | 'datepicker' | 'input' | 'switch';
|
42
43
|
export declare type Table2ColumnProps<TType = any> = {
|
@@ -105,7 +106,7 @@ export declare type DataColumnIndexes = {
|
|
105
106
|
};
|
106
107
|
export declare type Table2Props<TType = any> = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & {
|
107
108
|
actionsForRow?: Table2RowActionProps<TType>[];
|
108
|
-
children: React.ReactElement<Table2ColumnProps<TType>>[];
|
109
|
+
children: (React.ReactElement<Table2ColumnProps<TType>> | boolean | null)[];
|
109
110
|
className?: string;
|
110
111
|
data: TType[];
|
111
112
|
defaultActiveRowIndex?: number;
|
@@ -61,11 +61,27 @@ const defaultLocalisationTexts = {
|
|
61
61
|
loading: 'Loading...'
|
62
62
|
},
|
63
63
|
table2: {
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
64
|
+
shortcuts: {
|
65
|
+
search: 'Search',
|
66
|
+
filter: 'Filter',
|
67
|
+
previousRow: 'Previous row',
|
68
|
+
nextRow: 'Next row',
|
69
|
+
editCell: 'Edit cell',
|
70
|
+
previousColumn: 'Previous column',
|
71
|
+
nextColumn: 'Next column',
|
72
|
+
rowClick: 'Activate current row',
|
73
|
+
selectRow: 'Select current row',
|
74
|
+
selectAllRows: 'Select all rows',
|
75
|
+
expandRow: 'Expand current row',
|
76
|
+
collapseRow: 'Collapse current row'
|
77
|
+
},
|
78
|
+
rowIndicator: {
|
79
|
+
rowWillMove: 'Row will move due to sorting',
|
80
|
+
rowWillBeFiltered: 'Row will hide due to filtering',
|
81
|
+
searchFilterMovementReason: 'Due to a search filter applied to this table, this row will be hidden as soon as you select another row',
|
82
|
+
tableFilterMovementReason: "Due to a filter applied to the column '[COLUMN]', this row will be hidden as soon as you select another row",
|
83
|
+
sortingMovementReason: "Due to sorting applied to the column '[COLUMN]', this row will move position as soon as you select another row"
|
84
|
+
}
|
69
85
|
},
|
70
86
|
select: {
|
71
87
|
allOptionsSelected: 'All'
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Localization.js","sources":["../../../../../../../src/components/Provider/Localization.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Locale } from '../../types';\nimport { CalendarTexts } from '../Calendar/Calendar';\nimport { ComboboxTexts } from '../Combobox/Combobox';\nimport { DialogTexts } from '../Dialog/Dialog';\nimport { PaginationTexts } from '../Pagination/Pagination';\nimport { ListboxTexts } from '../Listbox/Listbox';\nimport { ToastsTexts } from '../Toast/Toast';\nimport { DatepickerTexts } from '../Datepicker/Datepicker';\nimport { HangerTexts } from '../Hanger/Hanger';\nimport { SelectTexts } from '../Select/Select';\nimport { TourTexts } from '../Tour/Tour';\nimport { TableTexts } from '../Table/Table';\nimport { Table2Texts } from '../Table2/Table2';\nimport { SearchInputTexts } from '../SearchInput/SearchInput';\nimport { Select2Texts } from '../Select2/Select2';\nimport { BannerTexts } from '../Banner/Banner';\n\nexport type LocalizationTexts = {\n /** Localized texts and aria-labels for [Calendar](component:calendar) component */\n calendar: CalendarTexts;\n /** Localized texts and aria-labels for [Combobox](component:combobox) component */\n combobox: ComboboxTexts;\n /** Localized texts and aria-labels for [DatePicker](component:datepicker) component */\n datepicker: DatepickerTexts;\n /** Localized texts and aria-labels for [Hanger](component:hanger) component */\n hanger: HangerTexts;\n /** Localized texts and aria-labels for [Banner](component:banner) component */\n banner: BannerTexts;\n /** Localized texts and aria-labels for [Listbox](component:listbox) component */\n listbox: ListboxTexts;\n /** Localized texts and aria-labels for [Dialog](component:dialog) component */\n dialog: DialogTexts;\n /** Localized texts and aria-labels for [Pagination](component:pagination) component */\n pagination: PaginationTexts;\n /** Localized texts and aria-labels for [Table](component:table) component */\n table: TableTexts;\n /** Localized texts and aria-labels for [Table2](component:table2) component */\n table2: Table2Texts;\n /** Localized texts and aria-labels for [Select](component:select) component */\n select: SelectTexts;\n /** Localized texts and aria-labels for [Select2](component:select2) component */\n select2: Select2Texts;\n /** Localized texts and aria-labels for [Toast](component:toast) component */\n toasts: ToastsTexts;\n /** Localized texts and aria-labels for [Tour](component:tour) component */\n tour: TourTexts;\n /** Localized texts and aria-labels for [SearchInput](component:searchinput) component */\n searchInput: SearchInputTexts;\n};\n\nexport type Localization = {\n /**\n * Provide the language code used in application.\n * Default value is `en-GB`\n */\n locale: Locale;\n /** Provide the texts and aria-labels for components used within the provider */\n texts: LocalizationTexts;\n /** Provide the formatting */\n formatting: {\n /** Default value is `dd.mm.yy` */\n date: string;\n };\n};\n\nexport const defaultLocalisationTexts = {\n calendar: {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n actions: {\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n previousYear: 'Previous year',\n nextYear: 'Next year',\n today: 'Today',\n },\n },\n combobox: {\n tooltip: 'Search in list',\n },\n datepicker: {\n calendar: 'Calendar',\n clear: 'Clear',\n expand: 'Show calendar',\n shortcuts: 'Shortcuts',\n },\n hanger: {\n close: 'Close',\n },\n banner: {\n close: 'Close',\n },\n listbox: {\n loading: 'Loading results...',\n empty: 'No results found',\n allOption: 'All',\n },\n dialog: {\n close: 'Close',\n drag: 'Drag',\n },\n pagination: {\n label: 'Pagination',\n pageSize: 'Items per page',\n showingXofYofTotal: 'Showing [X] - [Y] of [total]',\n actions: {\n firstPage: 'Goto first page',\n firstPageWithShortcut: 'Goto first page (Home)',\n previousPage: 'Goto previous page',\n previousPageWithShortcut: 'Goto previous page (Page Up)',\n nextPage: 'Goto next page',\n nextPageWithShortcut: 'Goto next page (Page Down)',\n lastPage: 'Goto last page',\n lastPageWithShortcut: 'Goto last page (End)',\n pageX: 'Goto page [X]',\n },\n },\n table: {\n actions: 'Other actions',\n edit: 'Edit (e)',\n copy: 'Copy (c)',\n del: 'Delete (del)',\n newSubRow: 'New row (shift + n)',\n loading: 'Loading...',\n },\n table2: {\n rowWillMove: 'Row will move',\n rowWillBeFiltered: 'Row will be filtered',\n searchFilterMovementReason: 'Due to global search filter applied on the table, this row will be hidden after editing',\n tableFilterMovementReason: 'Due to a filter applied on the [COLUMN] column, this row will be hidden after editing',\n sortingMovementReason: 'Due to sorting applied on the [COLUMN] column, this row will move position after editing',\n },\n select: {\n allOptionsSelected: 'All',\n },\n select2: {\n allSelect: 'Select all',\n allDeselect: 'Deselect all',\n cancel: 'Cancel',\n chooseColor: 'Pick a color',\n create: 'Create',\n delete: 'Delete',\n save: 'Save',\n search: 'Search...',\n searchOrCreate: 'Search or create...',\n },\n toasts: {\n dismiss: 'Dismiss',\n },\n tour: {\n back: 'Back',\n close: 'Close',\n skip: 'Close and complete',\n last: 'Done',\n next: 'Next',\n open: 'Open',\n },\n searchInput: {\n button: 'Search',\n placeholder: 'Search...',\n clear: 'Clear',\n },\n};\n\nconst defaultLocalizationContext: Localization = {\n locale: 'en-GB',\n texts: defaultLocalisationTexts,\n formatting: {\n date: 'dd.mm.yy',\n },\n};\n\nexport const LocalizationContext = React.createContext<Localization>(defaultLocalizationContext);\nexport interface LocalizationProviderProps {\n children: React.ReactNode;\n localization?: Localization;\n}\nexport const LocalizationProvider: React.FC<LocalizationProviderProps> = ({ localization, children }) => {\n return (\n <LocalizationContext.Provider value={localization || defaultLocalizationContext}>{children}</LocalizationContext.Provider>\n );\n};\n\nexport const useLocalization = () => React.useContext(LocalizationContext);\n"],"names":["defaultLocalisationTexts","calendar","months","weekdaysShort","actions","previousMonth","nextMonth","previousYear","nextYear","today","combobox","tooltip","datepicker","clear","expand","shortcuts","hanger","close","banner","listbox","loading","empty","allOption","dialog","drag","pagination","label","pageSize","showingXofYofTotal","firstPage","firstPageWithShortcut","previousPage","previousPageWithShortcut","nextPage","nextPageWithShortcut","lastPage","lastPageWithShortcut","pageX","table","edit","copy","del","newSubRow","table2","rowWillMove","rowWillBeFiltered","searchFilterMovementReason","tableFilterMovementReason","sortingMovementReason","select","allOptionsSelected","select2","allSelect","allDeselect","cancel","chooseColor","create","delete","save","search","searchOrCreate","toasts","dismiss","tour","back","skip","last","next","open","searchInput","button","placeholder","defaultLocalizationContext","locale","texts","formatting","date","LocalizationContext","React","LocalizationProvider","localization","children","Provider","value","useLocalization"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Localization.js","sources":["../../../../../../../src/components/Provider/Localization.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Locale } from '../../types';\nimport { CalendarTexts } from '../Calendar/Calendar';\nimport { ComboboxTexts } from '../Combobox/Combobox';\nimport { DialogTexts } from '../Dialog/Dialog';\nimport { PaginationTexts } from '../Pagination/Pagination';\nimport { ListboxTexts } from '../Listbox/Listbox';\nimport { ToastsTexts } from '../Toast/Toast';\nimport { DatepickerTexts } from '../Datepicker/Datepicker';\nimport { HangerTexts } from '../Hanger/Hanger';\nimport { SelectTexts } from '../Select/Select';\nimport { TourTexts } from '../Tour/Tour';\nimport { TableTexts } from '../Table/Table';\nimport { Table2Texts } from '../Table2/Table2';\nimport { SearchInputTexts } from '../SearchInput/SearchInput';\nimport { Select2Texts } from '../Select2/Select2';\nimport { BannerTexts } from '../Banner/Banner';\n\nexport type LocalizationTexts = {\n /** Localized texts and aria-labels for [Calendar](component:calendar) component */\n calendar: CalendarTexts;\n /** Localized texts and aria-labels for [Combobox](component:combobox) component */\n combobox: ComboboxTexts;\n /** Localized texts and aria-labels for [DatePicker](component:datepicker) component */\n datepicker: DatepickerTexts;\n /** Localized texts and aria-labels for [Hanger](component:hanger) component */\n hanger: HangerTexts;\n /** Localized texts and aria-labels for [Banner](component:banner) component */\n banner: BannerTexts;\n /** Localized texts and aria-labels for [Listbox](component:listbox) component */\n listbox: ListboxTexts;\n /** Localized texts and aria-labels for [Dialog](component:dialog) component */\n dialog: DialogTexts;\n /** Localized texts and aria-labels for [Pagination](component:pagination) component */\n pagination: PaginationTexts;\n /** Localized texts and aria-labels for [Table](component:table) component */\n table: TableTexts;\n /** Localized texts and aria-labels for [Table2](component:table2) component */\n table2: Table2Texts;\n /** Localized texts and aria-labels for [Select](component:select) component */\n select: SelectTexts;\n /** Localized texts and aria-labels for [Select2](component:select2) component */\n select2: Select2Texts;\n /** Localized texts and aria-labels for [Toast](component:toast) component */\n toasts: ToastsTexts;\n /** Localized texts and aria-labels for [Tour](component:tour) component */\n tour: TourTexts;\n /** Localized texts and aria-labels for [SearchInput](component:searchinput) component */\n searchInput: SearchInputTexts;\n};\n\nexport type Localization = {\n /**\n * Provide the language code used in application.\n * Default value is `en-GB`\n */\n locale: Locale;\n /** Provide the texts and aria-labels for components used within the provider */\n texts: LocalizationTexts;\n /** Provide the formatting */\n formatting: {\n /** Default value is `dd.mm.yy` */\n date: string;\n };\n};\n\nexport const defaultLocalisationTexts = {\n calendar: {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n actions: {\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n previousYear: 'Previous year',\n nextYear: 'Next year',\n today: 'Today',\n },\n },\n combobox: {\n tooltip: 'Search in list',\n },\n datepicker: {\n calendar: 'Calendar',\n clear: 'Clear',\n expand: 'Show calendar',\n shortcuts: 'Shortcuts',\n },\n hanger: {\n close: 'Close',\n },\n banner: {\n close: 'Close',\n },\n listbox: {\n loading: 'Loading results...',\n empty: 'No results found',\n allOption: 'All',\n },\n dialog: {\n close: 'Close',\n drag: 'Drag',\n },\n pagination: {\n label: 'Pagination',\n pageSize: 'Items per page',\n showingXofYofTotal: 'Showing [X] - [Y] of [total]',\n actions: {\n firstPage: 'Goto first page',\n firstPageWithShortcut: 'Goto first page (Home)',\n previousPage: 'Goto previous page',\n previousPageWithShortcut: 'Goto previous page (Page Up)',\n nextPage: 'Goto next page',\n nextPageWithShortcut: 'Goto next page (Page Down)',\n lastPage: 'Goto last page',\n lastPageWithShortcut: 'Goto last page (End)',\n pageX: 'Goto page [X]',\n },\n },\n table: {\n actions: 'Other actions',\n edit: 'Edit (e)',\n copy: 'Copy (c)',\n del: 'Delete (del)',\n newSubRow: 'New row (shift + n)',\n loading: 'Loading...',\n },\n table2: {\n shortcuts: {\n search: 'Search',\n filter: 'Filter',\n previousRow: 'Previous row',\n nextRow: 'Next row',\n editCell: 'Edit cell',\n previousColumn: 'Previous column',\n nextColumn: 'Next column',\n rowClick: 'Activate current row',\n selectRow: 'Select current row',\n selectAllRows: 'Select all rows',\n expandRow: 'Expand current row',\n collapseRow: 'Collapse current row',\n },\n rowIndicator: {\n rowWillMove: 'Row will move due to sorting',\n rowWillBeFiltered: 'Row will hide due to filtering',\n searchFilterMovementReason:\n 'Due to a search filter applied to this table, this row will be hidden as soon as you select another row',\n tableFilterMovementReason:\n \"Due to a filter applied to the column '[COLUMN]', this row will be hidden as soon as you select another row\",\n sortingMovementReason:\n \"Due to sorting applied to the column '[COLUMN]', this row will move position as soon as you select another row\",\n },\n },\n select: {\n allOptionsSelected: 'All',\n },\n select2: {\n allSelect: 'Select all',\n allDeselect: 'Deselect all',\n cancel: 'Cancel',\n chooseColor: 'Pick a color',\n create: 'Create',\n delete: 'Delete',\n save: 'Save',\n search: 'Search...',\n searchOrCreate: 'Search or create...',\n },\n toasts: {\n dismiss: 'Dismiss',\n },\n tour: {\n back: 'Back',\n close: 'Close',\n skip: 'Close and complete',\n last: 'Done',\n next: 'Next',\n open: 'Open',\n },\n searchInput: {\n button: 'Search',\n placeholder: 'Search...',\n clear: 'Clear',\n },\n};\n\nconst defaultLocalizationContext: Localization = {\n locale: 'en-GB',\n texts: defaultLocalisationTexts,\n formatting: {\n date: 'dd.mm.yy',\n },\n};\n\nexport const LocalizationContext = React.createContext<Localization>(defaultLocalizationContext);\nexport interface LocalizationProviderProps {\n children: React.ReactNode;\n localization?: Localization;\n}\nexport const LocalizationProvider: React.FC<LocalizationProviderProps> = ({ localization, children }) => {\n return (\n <LocalizationContext.Provider value={localization || defaultLocalizationContext}>{children}</LocalizationContext.Provider>\n );\n};\n\nexport const useLocalization = () => React.useContext(LocalizationContext);\n"],"names":["defaultLocalisationTexts","calendar","months","weekdaysShort","actions","previousMonth","nextMonth","previousYear","nextYear","today","combobox","tooltip","datepicker","clear","expand","shortcuts","hanger","close","banner","listbox","loading","empty","allOption","dialog","drag","pagination","label","pageSize","showingXofYofTotal","firstPage","firstPageWithShortcut","previousPage","previousPageWithShortcut","nextPage","nextPageWithShortcut","lastPage","lastPageWithShortcut","pageX","table","edit","copy","del","newSubRow","table2","search","filter","previousRow","nextRow","editCell","previousColumn","nextColumn","rowClick","selectRow","selectAllRows","expandRow","collapseRow","rowIndicator","rowWillMove","rowWillBeFiltered","searchFilterMovementReason","tableFilterMovementReason","sortingMovementReason","select","allOptionsSelected","select2","allSelect","allDeselect","cancel","chooseColor","create","delete","save","searchOrCreate","toasts","dismiss","tour","back","skip","last","next","open","searchInput","button","placeholder","defaultLocalizationContext","locale","texts","formatting","date","LocalizationContext","React","LocalizationProvider","localization","children","Provider","value","useLocalization"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Table2.js","sources":["../../../../../../../src/components/Table2/Table2.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Row as TRow, TableMeta } from '@tanstack/react-table';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { Cell } from './components/column/Cell';\nimport { Header } from './components/column/Header';\nimport { Footer } from './components/column/Footer';\nimport { Table2Props, Table2ColumnProps, Table2ToolbarProps } from './types';\nimport { useTable } from './hooks/useTable';\nimport { useVirtualiser } from './hooks/useVirtualiser';\nimport { Group } from '../Group/Group';\nimport { useGridTemplate } from './hooks/useGridTemplate';\nimport { RowDensityButton } from './components/RowDensityButton';\nimport { ColumnSettingsButton } from './components/ColumnSettingsButton';\nimport { ExpandedRow } from './components/row/ExpandedRow';\nimport { useSeparatedChildren } from './hooks/useSeparatedChildren';\nimport { BatchActionsMenu } from './components/BatchActionsMenu';\nimport { Row } from './components/row/Row';\nimport { FiltersButton } from './components/filters/FiltersButton';\nimport { Search } from './components/Search';\nimport { ShortcutsGuideButton } from './components/ShortcutsGuideButton';\nimport { EditModeButton } from './components/EditModeButton';\n\nexport type Table2Texts = {\n rowWillMove: string;\n rowWillBeFiltered: string;\n searchFilterMovementReason: string;\n tableFilterMovementReason: string;\n sortingMovementReason: string;\n};\n\nfunction Column<TType = any>(_: Table2ColumnProps<TType>) {\n return null;\n}\nColumn.displayName = 'Table2Column';\n\nfunction Toolbar(props: Table2ToolbarProps) {\n const className = cn('flex-grow', props.className);\n return <div {...props} className={className} />;\n}\nToolbar.displayName = 'Table2Toolbar';\n\nexport type ForwardedTable2WithStatics = React.ForwardRefExoticComponent<Table2Props<any>> & {\n Column: React.FunctionComponent<Table2ColumnProps<any>>;\n Toolbar: React.FunctionComponent<Table2ToolbarProps>;\n};\n\nconst Table2 = React.forwardRef(function Table2<TType = any>(props: Table2Props<TType>, ref: React.Ref<HTMLDivElement>) {\n // dom\n const {\n emptyState: EmptyState,\n expandedRowRenderer,\n length = props.data.length,\n loadMore,\n onRowClick,\n _experimentalActionsForTable,\n _experimentalActionsForTableSummary,\n } = props;\n const tableRef = useMergedRef<HTMLDivElement>(ref);\n const timeoutIdRef = React.useRef<NodeJS.Timeout>();\n\n // react-table\n const [columns, toolbar] = useSeparatedChildren(props.children);\n const { rows, table, footers } = useTable(columns, props, tableRef);\n const meta = table.options.meta as TableMeta<TType>;\n\n const { columnVisibility, columnOrder, globalFilter } = table.getState();\n\n // If column visibility or order changes then we turn off the edit mode so that control indexes gets computed\n // when user turns on the editing mode again. This is a temporary solution to make sure the keyboard navigation\n // still keeps working on changes in column visibility, order, or both\n React.useEffect(() => {\n meta.resetFocussableColumnIndexes();\n }, [columnVisibility, columnOrder]);\n\n React.useEffect(() => {\n // Whenever edit mode is turned off we reset the focussableColumnIndexes ref to an empty array so that\n // we don't have stale values, in case column visibility or ordering changes\n if (!meta.editMode.isEditing) {\n meta.resetFocussableColumnIndexes();\n }\n }, [meta.editMode.isEditing]);\n\n React.useEffect(() => {\n return () => clearTimeout(timeoutIdRef.current);\n }, []);\n\n // virtualiser\n const { virtualiser, virtualiserOffsets, setExpandedRowSizes } = useVirtualiser({ rows, table }, tableRef);\n\n // css grid\n const gridTemplateColumns = useGridTemplate(table);\n\n // handlers\n const editButtonRef = React.useRef(null);\n\n // support grid like keyboard navigation between cells\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (document.activeElement === tableRef.current) {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n meta.setActiveRowIndex(0);\n virtualiser.scrollToOffset(0);\n } else {\n meta.moveToPreviousRow(rows, nextIndex => virtualiser.scrollToIndex(nextIndex - 1));\n }\n\n return;\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n meta.setActiveRowIndex(rows.length - 1);\n virtualiser.scrollToOffset(virtualiser.totalSize + 1);\n } else {\n meta.moveToNextRow(rows, nextIndex => virtualiser.scrollToIndex(nextIndex + 2));\n }\n\n return;\n }\n\n const canToggleRowExpansion = table.options.enableExpanding;\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n if (canToggleRowExpansion) {\n rows[meta.activeRowIndex]?.toggleExpanded(false);\n }\n }\n return;\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n if (canToggleRowExpansion) {\n rows[meta?.activeRowIndex]?.toggleExpanded(true);\n }\n }\n\n return;\n }\n\n if (event.key === 'Enter') {\n event.preventDefault();\n\n if (onRowClick) {\n onRowClick(rows[meta?.activeRowIndex].original);\n }\n\n return;\n }\n\n if (event.key === ' ') {\n event.preventDefault();\n\n if (table.options.enableRowSelection) {\n rows[meta.activeRowIndex]?.toggleSelected();\n }\n\n return;\n }\n\n if (event.ctrlKey || event.metaKey) {\n event.preventDefault();\n\n if (event.key === 'a') {\n if (table.options.enableRowSelection) {\n table.toggleAllRowsSelected();\n }\n }\n\n return;\n }\n }\n };\n\n let handleBlur;\n\n if (meta.editMode.isEditing) {\n handleBlur = (event: React.FocusEvent) => {\n let elementGainingFocus = event.relatedTarget;\n\n if (elementGainingFocus === undefined) {\n return;\n }\n\n // we might be focusing on a select or a popover that was triggered from inside the table\n // so see if the element gaining focus is inside a portal and look up its controller\n const portalId = elementGainingFocus?.closest('[data-radix-popper-content-wrapper] > :first-child')?.id;\n\n if (portalId) {\n elementGainingFocus = event.currentTarget.querySelector(`[aria-controls=\"${portalId}\"]`) ?? event.relatedTarget;\n }\n\n if (!event.currentTarget?.contains(elementGainingFocus) && elementGainingFocus !== editButtonRef.current) {\n // When we call manually blur on control component while navigating to the next cell, then when this\n // handler is run, the related target is not the next control component and active element is null,\n // that's why we explictly need to check what's the next focussed element in order to figure out whether\n // we should disabled the sorting or not.\n timeoutIdRef.current = setTimeout(() => {\n const parentRow = event.target.closest('[role=\"row\"]');\n const isNewFocussedElementInSameRow = parentRow?.contains(document.activeElement);\n\n // When we manually call blur on control component and focus another component then\n // we have to make sure we\n if (meta.shouldPauseSortingAndFiltering && !isNewFocussedElementInSameRow) {\n // if client side - unpause sorting\n meta.setShouldPauseSortingAndFiltering(false);\n }\n });\n }\n };\n }\n\n // extract - infinite loading\n\n // TODO: this can probably be extracted into a hook\n // we only show the pinned shadow on display columns when scrolling is active\n const [scrolled, setScrolled] = React.useState(false);\n\n // extract - infinite loading\n const loadingRef = React.useRef(false);\n\n const handleScroll = async (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.currentTarget.scrollLeft > 0 && !scrolled) {\n setScrolled(true);\n } else if (event.currentTarget.scrollLeft === 0 && scrolled) {\n setScrolled(false);\n } else if (typeof loadMore === 'function') {\n if (\n event.currentTarget.scrollHeight - event.currentTarget.scrollTop - event.currentTarget.clientHeight < 600 &&\n !loadingRef.current\n ) {\n try {\n const isAllRowsSelected = table.getIsAllRowsSelected();\n loadingRef.current = true;\n await loadMore();\n\n if (isAllRowsSelected) {\n table.toggleAllRowsSelected(true);\n }\n } finally {\n loadingRef.current = false;\n }\n }\n }\n };\n\n let handleMouseLeave;\n\n if (meta.hoveredRowIndex !== undefined) {\n // sometimes the row's onMouseLeave doesn't trigger, this adds some extra redundancy\n handleMouseLeave = () => meta.setHoveredRowIndex(undefined);\n }\n\n const className = cn(\n 'bg-white border border-grey-300 focus:yt-focus focus:border-blue-500 grid overflow-auto relative rounded group',\n props.className\n );\n\n const enableSettingsButton = table.options.enablePinning || table.options.enableHiding || meta.enableColumnReordering;\n const hasInternalToolbar =\n enableSettingsButton ||\n meta.editMode.enableEditMode ||\n table.options.enableColumnFilters ||\n meta.enableRowDensity ||\n table.options.enableGlobalFilter;\n const hasToolbar = !!toolbar || hasInternalToolbar;\n\n const hasFooters = React.useMemo(() => {\n const summaryIds = Object.keys(footers);\n const visibleIds = Object.keys(columnVisibility).filter(c => !columnVisibility[c]);\n return summaryIds.length && summaryIds.some(v => !visibleIds.includes(v));\n }, [footers, columnVisibility]);\n\n return (\n <div className=\"flex h-full w-full flex-col gap-4\">\n {hasToolbar ? (\n <div className=\"flex flex-wrap gap-2\">\n {toolbar}\n {hasInternalToolbar ? (\n <Group className=\"ml-auto flex-shrink-0 print:hidden\">\n {meta.editMode.enableEditMode ? (\n <EditModeButton ref={editButtonRef} table={table} tableRef={tableRef} />\n ) : null}\n {table.options.enableColumnFilters ? <FiltersButton length={length} table={table} /> : null}\n {meta.enableRowDensity ? <RowDensityButton table={table} /> : null}\n {enableSettingsButton ? <ColumnSettingsButton table={table} /> : null}\n {table.options.enableGlobalFilter ? (\n <Search\n disabled={meta.shouldDisableTableActions}\n onSearch={table.setGlobalFilter}\n placeholder=\"Search...\"\n value={globalFilter}\n />\n ) : null}\n </Group>\n ) : null}\n <ShortcutsGuideButton table={table} />\n </div>\n ) : null}\n <div\n className={className}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onMouseLeave={handleMouseLeave}\n onScroll={handleScroll}\n ref={tableRef}\n role=\"table\"\n style={{\n gridTemplateColumns,\n gridTemplateRows: rows.length ? undefined : '40px',\n // create a new stacking context so our internal z-indexes don't effect external components\n // https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context\n opacity: 0.999,\n }}\n tabIndex={0}>\n <div className=\"contents\" role=\"rowgroup\">\n {table.getHeaderGroups().map(headerGroup => (\n <div className=\"contents\" key={headerGroup.id} role=\"row\">\n {headerGroup.headers.map((header, columnIndex) => (\n <Header\n key={header.id}\n header={header}\n index={columnIndex}\n isLastColumn={columnIndex === headerGroup.headers.length - 1}\n scrolled={scrolled}\n table={table}\n tableRef={tableRef}\n />\n ))}\n </div>\n ))}\n </div>\n {rows.length ? (\n <div className=\"contents\" role=\"rowgroup\">\n {virtualiserOffsets.top ? (\n <div style={{ height: virtualiserOffsets.top }} className=\"col-span-full\" />\n ) : null}\n {virtualiser.virtualItems.map(virtualRow => {\n const row = rows[virtualRow.index];\n\n return (\n <React.Fragment key={row.id}>\n <Row className=\"group/row contents\" row={row} rowIndex={virtualRow.index} table={table}>\n {row.getVisibleCells().map((cell, columnIndex) => (\n <Cell\n cell={cell}\n key={`${cell.id}_${cell.getValue()}`}\n index={columnIndex}\n isLastRow={virtualRow.index === rows.length - 1}\n rows={rows}\n rowIndex={virtualRow.index}\n scrolled={scrolled}\n scrollToIndex={virtualiser.scrollToIndex}\n scrollToOffset={virtualiser.scrollToOffset}\n table={table}\n tableRef={tableRef}\n />\n ))}\n </Row>\n {row.getIsExpanded() && expandedRowRenderer ? (\n <ExpandedRow index={virtualRow.index} setSize={setExpandedRowSizes}>\n {expandedRowRenderer(row.original)}\n </ExpandedRow>\n ) : null}\n </React.Fragment>\n );\n })}\n {virtualiserOffsets.bottom ? (\n <div style={{ height: virtualiserOffsets.bottom }} className=\"col-span-full\" />\n ) : null}\n </div>\n ) : (\n <div className=\"col-span-full min-h-[theme(spacing.8)]\">{EmptyState ? <EmptyState /> : null}</div>\n )}\n {hasFooters ? (\n <div role=\"rowgroup\" className=\"contents\">\n {table.getFooterGroups().map(footerGroup => (\n <div key={footerGroup.id} role=\"row\" className=\"contents\">\n {footerGroup.headers.map((footer, cellIndex) => (\n <Footer key={footer.id} footer={footer} index={cellIndex} scrolled={scrolled} table={table}>\n {footers[footer.id]\n ? footers[footer.id](rows.map((row: TRow<TType>) => row.original[footer.id]))\n : null}\n </Footer>\n ))}\n </div>\n ))}\n </div>\n ) : null}\n </div>\n {!!_experimentalActionsForTable &&\n table.options.enableRowSelection &&\n (table.getIsSomeRowsSelected() || table.getIsAllRowsSelected()) ? (\n <BatchActionsMenu<TType>\n className=\"fixed-center-x bottom-0 z-50 mb-4 print:hidden\"\n actionsForTable={_experimentalActionsForTable}\n summary={_experimentalActionsForTableSummary}\n table={table}\n />\n ) : null}\n </div>\n );\n}) as ForwardedTable2WithStatics;\n\nTable2.Column = Column;\nTable2.Toolbar = Toolbar;\n\nexport { Table2 };\nexport type { Table2Props };\nexport type { Table2ColumnProps, Table2ActionProps, Table2RowActionProps, Table2Settings, Table2ToolbarProps } from './types';\n"],"names":["Column","_","displayName","Toolbar","props","className","cn","React","Table2","forwardRef","ref","emptyState","EmptyState","expandedRowRenderer","length","data","loadMore","onRowClick","_experimentalActionsForTable","_experimentalActionsForTableSummary","tableRef","useMergedRef","timeoutIdRef","useRef","columns","toolbar","useSeparatedChildren","children","rows","table","footers","useTable","meta","options","columnVisibility","columnOrder","globalFilter","getState","useEffect","resetFocussableColumnIndexes","editMode","isEditing","clearTimeout","current","virtualiser","virtualiserOffsets","setExpandedRowSizes","useVirtualiser","gridTemplateColumns","useGridTemplate","editButtonRef","handleKeyDown","event","document","activeElement","key","preventDefault","ctrlKey","metaKey","setActiveRowIndex","scrollToOffset","moveToPreviousRow","nextIndex","scrollToIndex","totalSize","moveToNextRow","canToggleRowExpansion","enableExpanding","activeRowIndex","toggleExpanded","original","enableRowSelection","toggleSelected","toggleAllRowsSelected","handleBlur","elementGainingFocus","relatedTarget","undefined","portalId","closest","id","currentTarget","querySelector","contains","setTimeout","parentRow","target","isNewFocussedElementInSameRow","shouldPauseSortingAndFiltering","setShouldPauseSortingAndFiltering","scrolled","setScrolled","useState","loadingRef","handleScroll","scrollLeft","scrollHeight","scrollTop","clientHeight","isAllRowsSelected","getIsAllRowsSelected","handleMouseLeave","hoveredRowIndex","setHoveredRowIndex","enableSettingsButton","enablePinning","enableHiding","enableColumnReordering","hasInternalToolbar","enableEditMode","enableColumnFilters","enableRowDensity","enableGlobalFilter","hasToolbar","hasFooters","useMemo","summaryIds","Object","keys","visibleIds","filter","c","some","v","includes","Group","EditModeButton","FiltersButton","RowDensityButton","ColumnSettingsButton","Search","disabled","shouldDisableTableActions","onSearch","setGlobalFilter","placeholder","value","ShortcutsGuideButton","onBlur","onKeyDown","onMouseLeave","onScroll","role","style","gridTemplateRows","opacity","tabIndex","getHeaderGroups","map","headerGroup","headers","header","columnIndex","Header","index","isLastColumn","top","height","virtualItems","virtualRow","row","Fragment","Row","rowIndex","getVisibleCells","cell","Cell","getValue","isLastRow","getIsExpanded","ExpandedRow","setSize","bottom","getFooterGroups","footerGroup","footer","cellIndex","Footer","getIsSomeRowsSelected","BatchActionsMenu","actionsForTable","summary"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Table2.js","sources":["../../../../../../../src/components/Table2/Table2.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Row as TRow, TableMeta } from '@tanstack/react-table';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { Cell } from './components/column/Cell';\nimport { Header } from './components/column/Header';\nimport { Footer } from './components/column/Footer';\nimport { Table2Props, Table2ColumnProps, Table2ToolbarProps } from './types';\nimport { useTable } from './hooks/useTable';\nimport { useVirtualiser } from './hooks/useVirtualiser';\nimport { Group } from '../Group/Group';\nimport { useGridTemplate } from './hooks/useGridTemplate';\nimport { RowDensityButton } from './components/RowDensityButton';\nimport { ColumnSettingsButton } from './components/ColumnSettingsButton';\nimport { ExpandedRow } from './components/row/ExpandedRow';\nimport { useSeparatedChildren } from './hooks/useSeparatedChildren';\nimport { BatchActionsMenu } from './components/BatchActionsMenu';\nimport { Row } from './components/row/Row';\nimport { FiltersButton } from './components/filters/FiltersButton';\nimport { Search } from './components/Search';\nimport { ShortcutsGuideButton } from './components/ShortcutsGuideButton';\nimport { EditModeButton } from './components/EditModeButton';\n\nexport type Table2Texts = {\n shortcuts: {\n search: string;\n filter: string;\n previousRow: string;\n nextRow: string;\n editCell: string;\n previousColumn: string;\n nextColumn: string;\n rowClick: string;\n selectRow: string;\n selectAllRows: string;\n expandRow: string;\n collapseRow: string;\n };\n rowIndicator: {\n rowWillMove: string;\n rowWillBeFiltered: string;\n searchFilterMovementReason: string;\n tableFilterMovementReason: string;\n sortingMovementReason: string;\n };\n};\n\nfunction Column<TType = any>(_: Table2ColumnProps<TType>) {\n return null;\n}\nColumn.displayName = 'Table2Column';\n\nfunction Toolbar(props: Table2ToolbarProps) {\n const className = cn('flex-grow', props.className);\n return <div {...props} className={className} />;\n}\nToolbar.displayName = 'Table2Toolbar';\n\nexport type ForwardedTable2WithStatics = React.ForwardRefExoticComponent<Table2Props<any>> & {\n Column: React.FunctionComponent<Table2ColumnProps<any>>;\n Toolbar: React.FunctionComponent<Table2ToolbarProps>;\n};\n\nconst Table2 = React.forwardRef(function Table2<TType = any>(props: Table2Props<TType>, ref: React.Ref<HTMLDivElement>) {\n // dom\n const {\n emptyState: EmptyState,\n expandedRowRenderer,\n length = props.data.length,\n loadMore,\n onRowClick,\n _experimentalActionsForTable,\n _experimentalActionsForTableSummary,\n } = props;\n const tableRef = useMergedRef<HTMLDivElement>(ref);\n const timeoutIdRef = React.useRef<NodeJS.Timeout>();\n\n // react-table\n const [columns, toolbar] = useSeparatedChildren(props.children);\n const { rows, table, footers } = useTable(columns, props, tableRef);\n const meta = table.options.meta as TableMeta<TType>;\n\n const { columnVisibility, columnOrder, globalFilter } = table.getState();\n\n // If column visibility or order changes then we turn off the edit mode so that control indexes gets computed\n // when user turns on the editing mode again. This is a temporary solution to make sure the keyboard navigation\n // still keeps working on changes in column visibility, order, or both\n React.useEffect(() => {\n meta.resetFocussableColumnIndexes();\n }, [columnVisibility, columnOrder]);\n\n React.useEffect(() => {\n // Whenever edit mode is turned off we reset the focussableColumnIndexes ref to an empty array so that\n // we don't have stale values, in case column visibility or ordering changes\n if (!meta.editMode.isEditing) {\n meta.resetFocussableColumnIndexes();\n }\n }, [meta.editMode.isEditing]);\n\n React.useEffect(() => {\n return () => clearTimeout(timeoutIdRef.current);\n }, []);\n\n // virtualiser\n const { virtualiser, virtualiserOffsets, setExpandedRowSizes } = useVirtualiser({ rows, table }, tableRef);\n\n // css grid\n const gridTemplateColumns = useGridTemplate(table);\n\n // handlers\n const editButtonRef = React.useRef(null);\n\n // support grid like keyboard navigation between cells\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (document.activeElement === tableRef.current) {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n meta.setActiveRowIndex(0);\n virtualiser.scrollToOffset(0);\n } else {\n meta.moveToPreviousRow(rows, nextIndex => virtualiser.scrollToIndex(nextIndex - 1));\n }\n\n return;\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n meta.setActiveRowIndex(rows.length - 1);\n virtualiser.scrollToOffset(virtualiser.totalSize + 1);\n } else {\n meta.moveToNextRow(rows, nextIndex => virtualiser.scrollToIndex(nextIndex + 2));\n }\n\n return;\n }\n\n const canToggleRowExpansion = table.options.enableExpanding;\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n if (canToggleRowExpansion) {\n rows[meta.activeRowIndex]?.toggleExpanded(false);\n }\n }\n return;\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n if (canToggleRowExpansion) {\n rows[meta?.activeRowIndex]?.toggleExpanded(true);\n }\n }\n\n return;\n }\n\n if (event.key === 'Enter') {\n event.preventDefault();\n\n if (onRowClick) {\n onRowClick(rows[meta?.activeRowIndex].original);\n }\n\n return;\n }\n\n if (event.key === ' ') {\n event.preventDefault();\n\n if (table.options.enableRowSelection) {\n rows[meta.activeRowIndex]?.toggleSelected();\n }\n\n return;\n }\n\n if (event.ctrlKey || event.metaKey) {\n event.preventDefault();\n\n if (event.key === 'a') {\n if (table.options.enableRowSelection) {\n table.toggleAllRowsSelected();\n }\n }\n\n return;\n }\n }\n };\n\n let handleBlur;\n\n if (meta.editMode.isEditing) {\n handleBlur = (event: React.FocusEvent) => {\n let elementGainingFocus = event.relatedTarget;\n\n if (elementGainingFocus === undefined) {\n return;\n }\n\n // we might be focusing on a select or a popover that was triggered from inside the table\n // so see if the element gaining focus is inside a portal and look up its controller\n const portalId = elementGainingFocus?.closest('[data-radix-popper-content-wrapper] > :first-child')?.id;\n\n if (portalId) {\n elementGainingFocus = event.currentTarget.querySelector(`[aria-controls=\"${portalId}\"]`) ?? event.relatedTarget;\n }\n\n if (!event.currentTarget?.contains(elementGainingFocus) && elementGainingFocus !== editButtonRef.current) {\n // When we call manually blur on control component while navigating to the next cell, then when this\n // handler is run, the related target is not the next control component and active element is null,\n // that's why we explictly need to check what's the next focussed element in order to figure out whether\n // we should disabled the sorting or not.\n timeoutIdRef.current = setTimeout(() => {\n const parentRow = event.target.closest('[role=\"row\"]');\n const isNewFocussedElementInSameRow = parentRow?.contains(document.activeElement);\n\n // When we manually call blur on control component and focus another component then\n // we have to make sure we\n if (meta.shouldPauseSortingAndFiltering && !isNewFocussedElementInSameRow) {\n // if client side - unpause sorting\n meta.setShouldPauseSortingAndFiltering(false);\n }\n });\n }\n };\n }\n\n // extract - infinite loading\n\n // TODO: this can probably be extracted into a hook\n // we only show the pinned shadow on display columns when scrolling is active\n const [scrolled, setScrolled] = React.useState(false);\n\n // extract - infinite loading\n const loadingRef = React.useRef(false);\n\n const handleScroll = async (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.currentTarget.scrollLeft > 0 && !scrolled) {\n setScrolled(true);\n } else if (event.currentTarget.scrollLeft === 0 && scrolled) {\n setScrolled(false);\n } else if (typeof loadMore === 'function') {\n if (\n event.currentTarget.scrollHeight - event.currentTarget.scrollTop - event.currentTarget.clientHeight < 600 &&\n !loadingRef.current\n ) {\n try {\n const isAllRowsSelected = table.getIsAllRowsSelected();\n loadingRef.current = true;\n await loadMore();\n\n if (isAllRowsSelected) {\n table.toggleAllRowsSelected(true);\n }\n } finally {\n loadingRef.current = false;\n }\n }\n }\n };\n\n let handleMouseLeave;\n\n if (meta.hoveredRowIndex !== undefined) {\n // sometimes the row's onMouseLeave doesn't trigger, this adds some extra redundancy\n handleMouseLeave = () => meta.setHoveredRowIndex(undefined);\n }\n\n const className = cn(\n 'bg-white border border-grey-300 focus:yt-focus focus:border-blue-500 grid overflow-auto relative rounded group',\n props.className\n );\n\n const enableSettingsButton = table.options.enablePinning || table.options.enableHiding || meta.enableColumnReordering;\n const hasInternalToolbar =\n enableSettingsButton ||\n meta.editMode.enableEditMode ||\n table.options.enableColumnFilters ||\n meta.enableRowDensity ||\n table.options.enableGlobalFilter;\n const hasToolbar = !!toolbar || hasInternalToolbar;\n\n const hasFooters = React.useMemo(() => {\n const summaryIds = Object.keys(footers);\n const visibleIds = Object.keys(columnVisibility).filter(c => !columnVisibility[c]);\n return summaryIds.length && summaryIds.some(v => !visibleIds.includes(v));\n }, [footers, columnVisibility]);\n\n return (\n <div className=\"flex h-full w-full flex-col gap-4\">\n {hasToolbar ? (\n <div className=\"flex flex-wrap gap-2\">\n {toolbar}\n {hasInternalToolbar ? (\n <Group className=\"ml-auto flex-shrink-0 print:hidden\">\n {meta.editMode.enableEditMode ? (\n <EditModeButton ref={editButtonRef} table={table} tableRef={tableRef} />\n ) : null}\n {table.options.enableColumnFilters ? <FiltersButton length={length} table={table} /> : null}\n {meta.enableRowDensity ? <RowDensityButton table={table} /> : null}\n {enableSettingsButton ? <ColumnSettingsButton table={table} /> : null}\n {table.options.enableGlobalFilter ? (\n <Search\n disabled={meta.shouldDisableTableActions}\n onSearch={table.setGlobalFilter}\n placeholder=\"Search...\"\n value={globalFilter}\n />\n ) : null}\n </Group>\n ) : null}\n <ShortcutsGuideButton table={table} />\n </div>\n ) : null}\n <div\n className={className}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onMouseLeave={handleMouseLeave}\n onScroll={handleScroll}\n ref={tableRef}\n role=\"table\"\n style={{\n gridTemplateColumns,\n gridTemplateRows: rows.length ? undefined : '40px',\n // create a new stacking context so our internal z-indexes don't effect external components\n // https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context\n opacity: 0.999,\n }}\n tabIndex={0}>\n <div className=\"contents\" role=\"rowgroup\">\n {table.getHeaderGroups().map(headerGroup => (\n <div className=\"contents\" key={headerGroup.id} role=\"row\">\n {headerGroup.headers.map((header, columnIndex) => (\n <Header\n key={header.id}\n header={header}\n index={columnIndex}\n isLastColumn={columnIndex === headerGroup.headers.length - 1}\n scrolled={scrolled}\n table={table}\n tableRef={tableRef}\n />\n ))}\n </div>\n ))}\n </div>\n {rows.length ? (\n <div className=\"contents\" role=\"rowgroup\">\n {virtualiserOffsets.top ? (\n <div style={{ height: virtualiserOffsets.top }} className=\"col-span-full\" />\n ) : null}\n {virtualiser.virtualItems.map(virtualRow => {\n const row = rows[virtualRow.index];\n\n return (\n <React.Fragment key={row.id}>\n <Row className=\"group/row contents\" row={row} rowIndex={virtualRow.index} table={table}>\n {row.getVisibleCells().map((cell, columnIndex) => (\n <Cell\n cell={cell}\n key={`${cell.id}_${cell.getValue()}`}\n index={columnIndex}\n isLastRow={virtualRow.index === rows.length - 1}\n rows={rows}\n rowIndex={virtualRow.index}\n scrolled={scrolled}\n scrollToIndex={virtualiser.scrollToIndex}\n scrollToOffset={virtualiser.scrollToOffset}\n table={table}\n tableRef={tableRef}\n />\n ))}\n </Row>\n {row.getIsExpanded() && expandedRowRenderer ? (\n <ExpandedRow index={virtualRow.index} setSize={setExpandedRowSizes}>\n {expandedRowRenderer(row.original)}\n </ExpandedRow>\n ) : null}\n </React.Fragment>\n );\n })}\n {virtualiserOffsets.bottom ? (\n <div style={{ height: virtualiserOffsets.bottom }} className=\"col-span-full\" />\n ) : null}\n </div>\n ) : (\n <div className=\"col-span-full min-h-[theme(spacing.8)]\">{EmptyState ? <EmptyState /> : null}</div>\n )}\n {hasFooters ? (\n <div role=\"rowgroup\" className=\"contents\">\n {table.getFooterGroups().map(footerGroup => (\n <div key={footerGroup.id} role=\"row\" className=\"contents\">\n {footerGroup.headers.map((footer, cellIndex) => (\n <Footer key={footer.id} footer={footer} index={cellIndex} scrolled={scrolled} table={table}>\n {footers[footer.id]\n ? footers[footer.id](rows.map((row: TRow<TType>) => row.original[footer.id]))\n : null}\n </Footer>\n ))}\n </div>\n ))}\n </div>\n ) : null}\n </div>\n {!!_experimentalActionsForTable &&\n table.options.enableRowSelection &&\n (table.getIsSomeRowsSelected() || table.getIsAllRowsSelected()) ? (\n <BatchActionsMenu<TType>\n className=\"fixed-center-x bottom-0 z-50 mb-4 print:hidden\"\n actionsForTable={_experimentalActionsForTable}\n summary={_experimentalActionsForTableSummary}\n table={table}\n />\n ) : null}\n </div>\n );\n}) as ForwardedTable2WithStatics;\n\nTable2.Column = Column;\nTable2.Toolbar = Toolbar;\n\nexport { Table2 };\nexport type { Table2Props };\nexport type { Table2ColumnProps, Table2ActionProps, Table2RowActionProps, Table2Settings, Table2ToolbarProps } from './types';\n"],"names":["Column","_","displayName","Toolbar","props","className","cn","React","Table2","forwardRef","ref","emptyState","EmptyState","expandedRowRenderer","length","data","loadMore","onRowClick","_experimentalActionsForTable","_experimentalActionsForTableSummary","tableRef","useMergedRef","timeoutIdRef","useRef","columns","toolbar","useSeparatedChildren","children","rows","table","footers","useTable","meta","options","columnVisibility","columnOrder","globalFilter","getState","useEffect","resetFocussableColumnIndexes","editMode","isEditing","clearTimeout","current","virtualiser","virtualiserOffsets","setExpandedRowSizes","useVirtualiser","gridTemplateColumns","useGridTemplate","editButtonRef","handleKeyDown","event","document","activeElement","key","preventDefault","ctrlKey","metaKey","setActiveRowIndex","scrollToOffset","moveToPreviousRow","nextIndex","scrollToIndex","totalSize","moveToNextRow","canToggleRowExpansion","enableExpanding","activeRowIndex","toggleExpanded","original","enableRowSelection","toggleSelected","toggleAllRowsSelected","handleBlur","elementGainingFocus","relatedTarget","undefined","portalId","closest","id","currentTarget","querySelector","contains","setTimeout","parentRow","target","isNewFocussedElementInSameRow","shouldPauseSortingAndFiltering","setShouldPauseSortingAndFiltering","scrolled","setScrolled","useState","loadingRef","handleScroll","scrollLeft","scrollHeight","scrollTop","clientHeight","isAllRowsSelected","getIsAllRowsSelected","handleMouseLeave","hoveredRowIndex","setHoveredRowIndex","enableSettingsButton","enablePinning","enableHiding","enableColumnReordering","hasInternalToolbar","enableEditMode","enableColumnFilters","enableRowDensity","enableGlobalFilter","hasToolbar","hasFooters","useMemo","summaryIds","Object","keys","visibleIds","filter","c","some","v","includes","Group","EditModeButton","FiltersButton","RowDensityButton","ColumnSettingsButton","Search","disabled","shouldDisableTableActions","onSearch","setGlobalFilter","placeholder","value","ShortcutsGuideButton","onBlur","onKeyDown","onMouseLeave","onScroll","role","style","gridTemplateRows","opacity","tabIndex","getHeaderGroups","map","headerGroup","headers","header","columnIndex","Header","index","isLastColumn","top","height","virtualItems","virtualRow","row","Fragment","Row","rowIndex","getVisibleCells","cell","Cell","getValue","isLastRow","getIsExpanded","ExpandedRow","setSize","bottom","getFooterGroups","footerGroup","footer","cellIndex","Footer","getIsSomeRowsSelected","BatchActionsMenu","actionsForTable","summary"],"mappings":"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"}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import React__default from 'react';
|
2
2
|
import { IconButton } from '../../IconButton/IconButton.js';
|
3
|
+
import { useLocalization } from '../../Provider/Localization.js';
|
3
4
|
import { Popover } from '../../Popover/Popover.js';
|
4
5
|
import { Shortcut } from '../../Shortcut/Shortcut.js';
|
5
6
|
|
@@ -7,63 +8,68 @@ const ShortcutsGuideButton = ({
|
|
7
8
|
table
|
8
9
|
}) => {
|
9
10
|
const meta = table.options.meta;
|
11
|
+
const {
|
12
|
+
texts: {
|
13
|
+
table2: tableTexts
|
14
|
+
}
|
15
|
+
} = useLocalization();
|
10
16
|
const shortcuts = [];
|
11
17
|
if (table.options.enableGlobalFilter) {
|
12
18
|
shortcuts.push({
|
13
|
-
feature:
|
19
|
+
feature: tableTexts.shortcuts.search,
|
14
20
|
keys: ['Ctrl', 'F']
|
15
21
|
});
|
16
22
|
}
|
17
23
|
if (table.options.enableColumnFilters) {
|
18
24
|
shortcuts.push({
|
19
|
-
feature:
|
25
|
+
feature: tableTexts.shortcuts.filter,
|
20
26
|
keys: ['Ctrl', 'Shift', 'F']
|
21
27
|
});
|
22
28
|
}
|
23
29
|
shortcuts.push({
|
24
|
-
feature:
|
30
|
+
feature: tableTexts.shortcuts.previousRow,
|
25
31
|
keys: ['Up']
|
26
32
|
});
|
27
33
|
shortcuts.push({
|
28
|
-
feature:
|
34
|
+
feature: tableTexts.shortcuts.nextRow,
|
29
35
|
keys: ['Down']
|
30
36
|
});
|
31
37
|
if (meta.editMode.enableEditMode) {
|
32
38
|
shortcuts.push({
|
33
|
-
feature:
|
39
|
+
feature: tableTexts.shortcuts.editCell,
|
34
40
|
keys: ['Enter']
|
35
41
|
});
|
36
42
|
shortcuts.push({
|
37
|
-
feature:
|
38
|
-
keys: ['Left']
|
43
|
+
feature: tableTexts.shortcuts.previousColumn,
|
44
|
+
keys: ['Arrow-Left']
|
39
45
|
});
|
40
46
|
shortcuts.push({
|
41
|
-
feature:
|
42
|
-
keys: ['Right']
|
47
|
+
feature: tableTexts.shortcuts.nextColumn,
|
48
|
+
keys: ['Arrow-Right']
|
43
49
|
});
|
44
50
|
} else if (meta.onRowClick) {
|
45
51
|
shortcuts.push({
|
46
|
-
feature:
|
52
|
+
feature: tableTexts.shortcuts.rowClick,
|
47
53
|
keys: ['Enter']
|
48
54
|
});
|
49
55
|
}
|
50
56
|
if (table.options.enableRowSelection) {
|
51
57
|
shortcuts.push({
|
52
|
-
feature:
|
58
|
+
feature: tableTexts.shortcuts.selectRow,
|
53
59
|
keys: ['Space']
|
54
60
|
});
|
55
61
|
shortcuts.push({
|
56
|
-
feature:
|
62
|
+
feature: tableTexts.shortcuts.selectAllRows,
|
57
63
|
keys: ['Ctrl', 'A']
|
58
64
|
});
|
59
65
|
}
|
60
66
|
if (table.options.enableExpanding) {
|
61
67
|
shortcuts.push({
|
62
|
-
feature:
|
68
|
+
feature: tableTexts.shortcuts.expandRow,
|
63
69
|
keys: ['Ctrl', 'Right']
|
64
70
|
});
|
65
71
|
shortcuts.push({
|
66
|
-
feature:
|
72
|
+
feature: tableTexts.shortcuts.collapseRow,
|
67
73
|
keys: ['Ctrl', 'Left']
|
68
74
|
});
|
69
75
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ShortcutsGuideButton.js","sources":["../../../../../../../../src/components/Table2/components/ShortcutsGuideButton.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTTable, TableMeta } from '@tanstack/react-table';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { Popover } from '../../Popover/Popover';\nimport { Shortcut } from '../../Shortcut/Shortcut';\n\ntype ShortcutGuideShortcut = {\n feature: string;\n keys: string[];\n};\n\ntype ShortcutsGuideButtonProps = {\n table: RTTable<any>;\n};\n\nexport const ShortcutsGuideButton = ({ table }: ShortcutsGuideButtonProps) => {\n const meta = table.options.meta as TableMeta<any>;\n\n const shortcuts: ShortcutGuideShortcut[] = [];\n\n if (table.options.enableGlobalFilter) {\n shortcuts.push({\n feature:
|
1
|
+
{"version":3,"file":"ShortcutsGuideButton.js","sources":["../../../../../../../../src/components/Table2/components/ShortcutsGuideButton.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTTable, TableMeta } from '@tanstack/react-table';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { Popover } from '../../Popover/Popover';\nimport { Shortcut } from '../../Shortcut/Shortcut';\nimport { useLocalization } from '../../Provider/Localization';\n\ntype ShortcutGuideShortcut = {\n feature: string;\n keys: string[];\n};\n\ntype ShortcutsGuideButtonProps = {\n table: RTTable<any>;\n};\n\nexport const ShortcutsGuideButton = ({ table }: ShortcutsGuideButtonProps) => {\n const meta = table.options.meta as TableMeta<any>;\n const {\n texts: { table2: tableTexts },\n } = useLocalization();\n\n const shortcuts: ShortcutGuideShortcut[] = [];\n\n if (table.options.enableGlobalFilter) {\n shortcuts.push({\n feature: tableTexts.shortcuts.search,\n keys: ['Ctrl', 'F'],\n });\n }\n\n if (table.options.enableColumnFilters) {\n shortcuts.push({\n feature: tableTexts.shortcuts.filter,\n keys: ['Ctrl', 'Shift', 'F'],\n });\n }\n\n shortcuts.push({\n feature: tableTexts.shortcuts.previousRow,\n keys: ['Up'],\n });\n shortcuts.push({\n feature: tableTexts.shortcuts.nextRow,\n keys: ['Down'],\n });\n\n if (meta.editMode.enableEditMode) {\n shortcuts.push({\n feature: tableTexts.shortcuts.editCell,\n keys: ['Enter'],\n });\n shortcuts.push({\n feature: tableTexts.shortcuts.previousColumn,\n keys: ['Arrow-Left'],\n });\n shortcuts.push({\n feature: tableTexts.shortcuts.nextColumn,\n keys: ['Arrow-Right'],\n });\n } else if (meta.onRowClick) {\n shortcuts.push({\n feature: tableTexts.shortcuts.rowClick,\n keys: ['Enter'],\n });\n }\n\n if (table.options.enableRowSelection) {\n shortcuts.push({\n feature: tableTexts.shortcuts.selectRow,\n keys: ['Space'],\n });\n shortcuts.push({\n feature: tableTexts.shortcuts.selectAllRows,\n keys: ['Ctrl', 'A'],\n });\n }\n\n if (table.options.enableExpanding) {\n shortcuts.push({\n feature: tableTexts.shortcuts.expandRow,\n keys: ['Ctrl', 'Right'],\n });\n shortcuts.push({\n feature: tableTexts.shortcuts.collapseRow,\n keys: ['Ctrl', 'Left'],\n });\n }\n\n return (\n <IconButton\n aria-label=\"View keyboard shortcuts\"\n icon=\"shortcuts\"\n popover={popoverProps => (\n <Popover {...popoverProps}>\n <Popover.Content align=\"end\">\n <div className=\"flex flex-col gap-y-1\">\n {shortcuts.map(shortcut => (\n <span className=\"flex items-center justify-between gap-x-8\" key={shortcut.feature}>\n <span>{shortcut.feature}</span>\n <Shortcut keys={shortcut.keys} />\n </span>\n ))}\n </div>\n </Popover.Content>\n </Popover>\n )}\n rounded\n />\n );\n};\n"],"names":["ShortcutsGuideButton","table","meta","options","texts","table2","tableTexts","useLocalization","shortcuts","enableGlobalFilter","push","feature","search","keys","enableColumnFilters","filter","previousRow","nextRow","editMode","enableEditMode","editCell","previousColumn","nextColumn","onRowClick","rowClick","enableRowSelection","selectRow","selectAllRows","enableExpanding","expandRow","collapseRow","React","IconButton","icon","popover","popoverProps","Popover","Content","align","className","map","shortcut","key","Shortcut","rounded"],"mappings":"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"}
|