@economic/taco 1.22.3 → 1.22.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. package/dist/components/Table2/Table2.d.ts +2 -3
  2. package/dist/components/Table2/Table2.stories.d.ts +0 -1
  3. package/dist/components/Table2/hooks/useColumnDefinitions.d.ts +4 -5
  4. package/dist/components/Table2/hooks/useTable.d.ts +2 -2
  5. package/dist/components/Table2/types.d.ts +4 -3
  6. package/dist/esm/packages/taco/src/components/Provider/Localization.js +2 -2
  7. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  8. package/dist/esm/packages/taco/src/components/Select2/components/Option.js +1 -1
  9. package/dist/esm/packages/taco/src/components/Select2/components/Option.js.map +1 -1
  10. package/dist/esm/packages/taco/src/components/Table2/Table2.js +10 -23
  11. package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -1
  12. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +9 -12
  13. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +1 -1
  14. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +9 -7
  15. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +1 -1
  16. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +1 -1
  17. package/dist/esm/packages/taco/src/components/Table2/types.js.map +1 -1
  18. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js +2 -2
  19. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js.map +1 -1
  20. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +25 -18
  21. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +1 -1
  22. package/dist/esm/packages/taco/src/components/Tag/Tag.js +2 -1
  23. package/dist/esm/packages/taco/src/components/Tag/Tag.js.map +1 -1
  24. package/dist/taco.cjs.development.js +60 -165
  25. package/dist/taco.cjs.development.js.map +1 -1
  26. package/dist/taco.cjs.production.min.js +1 -1
  27. package/dist/taco.cjs.production.min.js.map +1 -1
  28. package/package.json +2 -2
  29. package/types.json +15 -15
  30. package/dist/components/Table2/hooks/useSeparatedChildren.d.ts +0 -1
  31. package/dist/esm/packages/taco/src/components/Table2/components/ShortcutsGuideButton.js +0 -92
  32. package/dist/esm/packages/taco/src/components/Table2/components/ShortcutsGuideButton.js.map +0 -1
  33. package/dist/esm/packages/taco/src/components/Table2/hooks/useSeparatedChildren.js +0 -21
  34. package/dist/esm/packages/taco/src/components/Table2/hooks/useSeparatedChildren.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Table2Props, Table2ColumnProps, Table2ToolbarProps } from './types';
2
+ import { Table2Props, Table2ColumnProps } from './types';
3
3
  export declare type Table2Texts = {
4
4
  columns: {
5
5
  actions: {
@@ -88,11 +88,10 @@ export declare type Table2Texts = {
88
88
  };
89
89
  export declare type ForwardedTable2WithStatics = React.ForwardRefExoticComponent<Table2Props<any>> & {
90
90
  Column: <TType>(props: Table2ColumnProps<TType>) => JSX.Element | null;
91
- Toolbar: React.FunctionComponent<Table2ToolbarProps>;
92
91
  } & (<TType>(props: Table2Props<TType> & {
93
92
  ref?: React.Ref<HTMLDivElement>;
94
93
  }) => JSX.Element);
95
94
  declare const Table2: ForwardedTable2WithStatics;
96
95
  export { Table2 };
97
96
  export type { Table2Props };
98
- export type { Table2ColumnProps, Table2ActionProps, Table2RowActionProps, Table2Settings, Table2ToolbarProps } from './types';
97
+ export type { Table2ColumnProps, Table2ActionProps, Table2RowActionProps, Table2Settings } from './types';
@@ -45,5 +45,4 @@ export declare const InlineEditingLiveUpdates: () => JSX.Element;
45
45
  export declare const InfiniteLoading: () => JSX.Element;
46
46
  export declare const Settings: () => JSX.Element;
47
47
  export declare const KitchenSink: () => JSX.Element;
48
- export declare const PerformanceKitchenSink: () => JSX.Element;
49
48
  export declare const AdminCentral: () => JSX.Element;
@@ -1,14 +1,13 @@
1
1
  import React from 'react';
2
- import { ColumnSort, Row, RowData } from '@tanstack/react-table';
3
- import { CellAlignment, ColumnDataType, RowDragHandler, RowExpansionRenderer, Table2ColumnControlRenderer, Table2ColumnFooterRenderer, Table2ColumnHeaderMenu, Table2ColumnProps, Table2RowActionProps } from '../types';
2
+ import { ColumnSort, Row, RowData, Table } from '@tanstack/react-table';
3
+ import { CellAlignment, ColumnDataType, RowDragHandler, RowExpansionRenderer, Table2Children, Table2ColumnControlRenderer, Table2ColumnFooterRenderer, Table2ColumnHeaderMenu, Table2RowActionProps } from '../types';
4
4
  declare module '@tanstack/table-core' {
5
5
  interface ColumnMeta<TData extends RowData, TValue> {
6
6
  align?: CellAlignment;
7
- className?: string | ((row: Row<TData>) => string);
7
+ className?: string | ((row: Row<TData>, table: Table<TData>) => string);
8
8
  control?: Table2ColumnControlRenderer;
9
9
  dataType?: ColumnDataType;
10
10
  disableReordering?: boolean;
11
- disableTruncation?: boolean;
12
11
  defaultWidth?: number;
13
12
  headerClassName?: string;
14
13
  menu?: Table2ColumnHeaderMenu;
@@ -26,7 +25,7 @@ declare type useColumnDefinitionsOptions<TType> = {
26
25
  expandedRowRenderer?: RowExpansionRenderer<TType>;
27
26
  onRowDrag?: RowDragHandler<TType>;
28
27
  };
29
- export declare function useColumnDefinitions<TType = any>(children: React.ReactElement<Table2ColumnProps<TType>>[], options: useColumnDefinitionsOptions<TType>, tableRef: React.RefObject<HTMLDivElement>): {
28
+ export declare function useColumnDefinitions<TType = any>(children: Table2Children, options: useColumnDefinitionsOptions<TType>, tableRef: React.RefObject<HTMLDivElement>): {
30
29
  columns: any[];
31
30
  defaultColumnPinning: string[];
32
31
  defaultColumnSizing: Record<string, number>;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { OnChangeFn, RowData } from '@tanstack/react-table';
3
- import { RowClickHandler, RowDensity, Table2ColumnProps, Table2Props } from '../types';
3
+ import { RowClickHandler, RowDensity, Table2Children, Table2Props } from '../types';
4
4
  import { ColumnOffsetState } from '../types';
5
5
  import { ActiveRowHandler, ActiveRowMoveHandler } from './useActiveRow';
6
6
  import { useEditMode } from './useEditMode';
@@ -35,7 +35,7 @@ declare module '@tanstack/table-core' {
35
35
  lastSortedOrFilteredRows: React.MutableRefObject<Array<any>>;
36
36
  }
37
37
  }
38
- export declare function useTable<TType = any>(children: React.ReactElement<Table2ColumnProps<TType>>[], props: Table2Props<TType>, ref: React.RefObject<HTMLDivElement>): {
38
+ export declare function useTable<TType = any>(children: Table2Children, props: Table2Props<TType>, ref: React.RefObject<HTMLDivElement>): {
39
39
  rows: any;
40
40
  table: import("@tanstack/react-table").Table<TType>;
41
41
  footers: Record<string, import("../types").Table2ColumnFooterRenderer>;
@@ -26,7 +26,6 @@ export declare type RowDensity = 'compact' | 'normal' | 'comfortable' | 'spaciou
26
26
  export declare type CellAlignment = 'left' | 'center' | 'right';
27
27
  export declare type SortDirection = 'asc' | 'desc';
28
28
  export declare type ColumnDataType = 'auto' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';
29
- export declare type Table2ToolbarProps = React.HTMLAttributes<HTMLDivElement>;
30
29
  export declare type Table2ColumnHeaderRenderer<TType = any> = (value: any, row: TType) => JSX.Element | string | null;
31
30
  export declare type Table2ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;
32
31
  export declare type Table2ColumnFooterRenderer = (values: any[]) => JSX.Element | string | null;
@@ -58,7 +57,6 @@ export declare type Table2ColumnProps<TType = any> = {
58
57
  disableReordering?: boolean;
59
58
  disableResizing?: boolean;
60
59
  disableSorting?: boolean;
61
- disableTruncation?: boolean;
62
60
  defaultWidth?: number;
63
61
  header: string;
64
62
  headerClassName?: string;
@@ -108,9 +106,10 @@ export declare type DataColumnIndexes = {
108
106
  dataColumnStartOffset: number;
109
107
  dataColumnEndOffset: number;
110
108
  };
109
+ export declare type Table2Children<TType = any> = (React.ReactElement<Table2ColumnProps<TType>> | boolean | null | undefined)[];
111
110
  export declare type Table2Props<TType = any> = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & {
112
111
  actionsForRow?: Table2RowActionProps<TType>[];
113
- children: (React.ReactElement<Table2ColumnProps<TType>> | boolean | null)[];
112
+ children: Table2Children;
114
113
  className?: string;
115
114
  data: TType[];
116
115
  defaultActiveRowIndex?: number;
@@ -137,6 +136,8 @@ export declare type Table2Props<TType = any> = Omit<React.HTMLAttributes<HTMLDiv
137
136
  onRowDrag?: RowDragHandler<TType>;
138
137
  onRowSelect?: RowSelectionHandler<TType>;
139
138
  onSave?: SaveHandler<TType>;
139
+ toolbarLeft?: JSX.Element;
140
+ toolbarRight?: JSX.Element;
140
141
  settings?: Table2Settings;
141
142
  _experimentalActionsForTable?: Table2ActionProps<TType>[];
142
143
  _experimentalActionsForTableSummary?: (rows: TType[]) => JSX.Element | string;
@@ -82,9 +82,9 @@ const defaultLocalisationTexts = {
82
82
  }
83
83
  },
84
84
  columnSettings: {
85
- columnsOther: 'Pinned columns',
85
+ columnsOther: 'Other columns',
86
86
  columnsOtherDrop: 'Drop column here to unpin',
87
- columnsPinned: 'Other columns',
87
+ columnsPinned: 'Pinned columns',
88
88
  columnsPinnedDrop: 'Drop column here to pin',
89
89
  search: 'Search column...',
90
90
  tooltip: 'Column settings'
@@ -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 columns: {\n actions: {\n tooltip: 'Other actions',\n },\n drag: {\n tooltip: 'Drag row',\n },\n expansion: {\n collapse: 'Collapse row',\n collapseAll: 'Collapse all rows',\n expand: 'Expand row',\n expandAll: 'Expand all rows',\n },\n select: {\n deselect: 'Deselect row',\n deselectAll: 'Deselect all rows',\n select: 'Select row',\n selectAll: 'Select all rows',\n },\n },\n columnSettings: {\n columnsOther: 'Pinned columns',\n columnsOtherDrop: 'Drop column here to unpin',\n columnsPinned: 'Other columns',\n columnsPinnedDrop: 'Drop column here to pin',\n search: 'Search column...',\n tooltip: 'Column settings',\n },\n editing: {\n button: 'Edit',\n tooltip: 'Edit',\n tooltipDisabled: 'There are no visible columns that support editing',\n rowIndicator: {\n rowWillMove: 'Row will move due to sorting',\n rowWillBeHidden: 'Row will hide due to filtering',\n rowWillMoveReasonSearch:\n 'Due to a search filter applied to this table, this row will be hidden as soon as you select another row',\n rowWillMoveReasonFilter:\n \"Due to a filter applied to the column '[COLUMN]', this row will be hidden as soon as you select another row\",\n rowWillMoveReasonSorting:\n \"Due to sorting applied to the column '[COLUMN]', this row will move position as soon as you select another row\",\n },\n },\n filters: {\n button: 'Filters',\n buttons: {\n addFilter: 'Add Filter',\n clearFilters: 'Clear all filters',\n },\n comparators: {\n contains: 'Contains',\n doesNotContain: 'Does not contain',\n isEqualTo: 'Is',\n isNotEqualTo: 'Is not',\n isGreaterThan: 'Is greater than',\n isLessThan: 'Is less than',\n isBetween: 'Is between',\n isOneOf: 'Is one of',\n isNoneOf: 'Is none of',\n isAllOf: 'Is all of',\n isEmpty: 'Is empty',\n isNotEmpty: 'Is not empty',\n },\n tooltip: 'Apply filters',\n total: 'Viewing [CURRENT] of [TOTAL]',\n },\n rowDensity: {\n tooltip: 'Row density',\n },\n search: {\n placeholder: 'Search...',\n },\n shortcuts: {\n tooltip: 'View keyboard 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 },\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","columns","expansion","collapse","collapseAll","expandAll","select","deselect","deselectAll","selectAll","columnSettings","columnsOther","columnsOtherDrop","columnsPinned","columnsPinnedDrop","search","editing","button","tooltipDisabled","rowIndicator","rowWillMove","rowWillBeHidden","rowWillMoveReasonSearch","rowWillMoveReasonFilter","rowWillMoveReasonSorting","filters","buttons","addFilter","clearFilters","comparators","contains","doesNotContain","isEqualTo","isNotEqualTo","isGreaterThan","isLessThan","isBetween","isOneOf","isNoneOf","isAllOf","isEmpty","isNotEmpty","total","rowDensity","placeholder","filter","previousRow","nextRow","editCell","previousColumn","nextColumn","rowClick","selectRow","selectAllRows","expandRow","collapseRow","allOptionsSelected","select2","allSelect","allDeselect","cancel","chooseColor","create","delete","save","searchOrCreate","toasts","dismiss","tour","back","skip","last","next","open","searchInput","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 columns: {\n actions: {\n tooltip: 'Other actions',\n },\n drag: {\n tooltip: 'Drag row',\n },\n expansion: {\n collapse: 'Collapse row',\n collapseAll: 'Collapse all rows',\n expand: 'Expand row',\n expandAll: 'Expand all rows',\n },\n select: {\n deselect: 'Deselect row',\n deselectAll: 'Deselect all rows',\n select: 'Select row',\n selectAll: 'Select all rows',\n },\n },\n columnSettings: {\n columnsOther: 'Other columns',\n columnsOtherDrop: 'Drop column here to unpin',\n columnsPinned: 'Pinned columns',\n columnsPinnedDrop: 'Drop column here to pin',\n search: 'Search column...',\n tooltip: 'Column settings',\n },\n editing: {\n button: 'Edit',\n tooltip: 'Edit',\n tooltipDisabled: 'There are no visible columns that support editing',\n rowIndicator: {\n rowWillMove: 'Row will move due to sorting',\n rowWillBeHidden: 'Row will hide due to filtering',\n rowWillMoveReasonSearch:\n 'Due to a search filter applied to this table, this row will be hidden as soon as you select another row',\n rowWillMoveReasonFilter:\n \"Due to a filter applied to the column '[COLUMN]', this row will be hidden as soon as you select another row\",\n rowWillMoveReasonSorting:\n \"Due to sorting applied to the column '[COLUMN]', this row will move position as soon as you select another row\",\n },\n },\n filters: {\n button: 'Filters',\n buttons: {\n addFilter: 'Add Filter',\n clearFilters: 'Clear all filters',\n },\n comparators: {\n contains: 'Contains',\n doesNotContain: 'Does not contain',\n isEqualTo: 'Is',\n isNotEqualTo: 'Is not',\n isGreaterThan: 'Is greater than',\n isLessThan: 'Is less than',\n isBetween: 'Is between',\n isOneOf: 'Is one of',\n isNoneOf: 'Is none of',\n isAllOf: 'Is all of',\n isEmpty: 'Is empty',\n isNotEmpty: 'Is not empty',\n },\n tooltip: 'Apply filters',\n total: 'Viewing [CURRENT] of [TOTAL]',\n },\n rowDensity: {\n tooltip: 'Row density',\n },\n search: {\n placeholder: 'Search...',\n },\n shortcuts: {\n tooltip: 'View keyboard 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 },\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","columns","expansion","collapse","collapseAll","expandAll","select","deselect","deselectAll","selectAll","columnSettings","columnsOther","columnsOtherDrop","columnsPinned","columnsPinnedDrop","search","editing","button","tooltipDisabled","rowIndicator","rowWillMove","rowWillBeHidden","rowWillMoveReasonSearch","rowWillMoveReasonFilter","rowWillMoveReasonSorting","filters","buttons","addFilter","clearFilters","comparators","contains","doesNotContain","isEqualTo","isNotEqualTo","isGreaterThan","isLessThan","isBetween","isOneOf","isNoneOf","isAllOf","isEmpty","isNotEmpty","total","rowDensity","placeholder","filter","previousRow","nextRow","editCell","previousColumn","nextColumn","rowClick","selectRow","selectAllRows","expandRow","collapseRow","allOptionsSelected","select2","allSelect","allDeselect","cancel","chooseColor","create","delete","save","searchOrCreate","toasts","dismiss","tour","back","skip","last","next","open","searchInput","defaultLocalizationContext","locale","texts","formatting","date","LocalizationContext","React","LocalizationProvider","localization","children","Provider","value","useLocalization"],"mappings":"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"}
@@ -68,7 +68,7 @@ const Option = /*#__PURE__*/React__default.forwardRef(function Select2Option(pro
68
68
  name: "tick",
69
69
  className: "pointer-events-none invisible -mx-0.5 !h-4 !w-4 group-aria-selected:visible"
70
70
  }) : null, isTag ? /*#__PURE__*/React__default.createElement(Tag, {
71
- className: "pointer-events-none",
71
+ className: "pointer-events-none my-1",
72
72
  color: color,
73
73
  icon: icon
74
74
  }, children) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, icon ? typeof icon === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
@@ -1 +1 @@
1
- {"version":3,"file":"Option.js","sources":["../../../../../../../../src/components/Select2/components/Option.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon, IconName, IconProps } from '../../Icon/Icon';\nimport { Tag } from '../../Tag/Tag';\nimport { isAriaSelectionKey } from '../../../utils/aria';\nimport { Color } from '../../../utils/colors';\nimport * as ListboxPrimitive from '../../../primitives/Listbox2/Listbox2';\nimport { createOptionClassName } from '../utilities';\nimport { useSelect2Context } from './Context';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { EditPopover } from './Edit';\nimport { isMobileDevice } from '../../../utils/device';\n\nexport type Select2OptionProps = Omit<ListboxPrimitive.Listbox2OptionProps, 'children'> & {\n children: string;\n color?: Color;\n description?: string;\n icon?: React.ReactElement<IconProps> | IconName;\n textValue?: string;\n};\n\nexport const Option = React.forwardRef<HTMLDivElement, Select2OptionProps>(function Select2Option(props, ref) {\n const { children, color, description, icon, ...otherProps } = props;\n const className = createOptionClassName();\n const { onDelete, onEdit, listboxRef, multiple, ref: selectRef, setOpen, tags, value } = useSelect2Context();\n\n const hasValue = Array.isArray(value) ? !!value.length : value !== undefined;\n const isTag = tags && !!color;\n\n const handleClick = () => {\n if (!multiple) {\n setOpen(false);\n } else {\n selectRef.current?.focus();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (isAriaSelectionKey(event)) {\n if (!multiple || event.key === 'Tab') {\n setOpen(false);\n }\n }\n };\n\n const popover =\n onEdit || onDelete\n ? popoverProps => (\n <EditPopover\n {...popoverProps}\n color={props.color}\n key={props.textValue ?? String(props.children)}\n text={props.textValue ?? String(props.children)}\n value={props.value}\n />\n )\n : undefined;\n\n return (\n <ListboxPrimitive.Option {...otherProps} className={className} onClick={handleClick} onKeyDown={handleKeyDown} ref={ref}>\n {hasValue ? (\n <Icon name=\"tick\" className=\"pointer-events-none invisible -mx-0.5 !h-4 !w-4 group-aria-selected:visible\" />\n ) : null}\n\n {isTag ? (\n <Tag className=\"pointer-events-none\" color={color} icon={icon}>\n {children}\n </Tag>\n ) : (\n <>\n {icon ? typeof icon === 'string' ? <Icon name={icon} /> : icon : null}\n <span className=\"flex flex-col\">\n <span>{children}</span>\n {description ? <span className=\"text-grey-700 -mt-1.5 mb-1.5 text-xs\">{description}</span> : null}\n </span>\n </>\n )}\n {popover ? (\n <IconButton\n rounded\n icon=\"ellipsis-vertical\"\n appearance=\"discrete\"\n className={cn('group-aria-current:visible invisible ml-auto -mr-2 focus:!shadow-none group-hover:visible', {\n '!visible': isMobileDevice(window?.navigator),\n })}\n onClick={event => {\n event.stopPropagation();\n listboxRef?.current?.setActiveIndex(event.currentTarget.parentElement as HTMLDivElement);\n }}\n popover={popover}\n tabIndex={-1}\n />\n ) : null}\n </ListboxPrimitive.Option>\n );\n});\n"],"names":["Option","React","forwardRef","Select2Option","props","ref","children","color","description","icon","otherProps","className","createOptionClassName","onDelete","onEdit","listboxRef","multiple","selectRef","setOpen","tags","value","useSelect2Context","hasValue","Array","isArray","length","undefined","isTag","handleClick","current","focus","handleKeyDown","event","isAriaSelectionKey","key","popover","popoverProps","EditPopover","textValue","String","text","ListboxPrimitive","onClick","onKeyDown","Icon","name","Tag","IconButton","rounded","appearance","cn","isMobileDevice","window","navigator","stopPropagation","setActiveIndex","currentTarget","parentElement","tabIndex"],"mappings":"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"}
1
+ {"version":3,"file":"Option.js","sources":["../../../../../../../../src/components/Select2/components/Option.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon, IconName, IconProps } from '../../Icon/Icon';\nimport { Tag } from '../../Tag/Tag';\nimport { isAriaSelectionKey } from '../../../utils/aria';\nimport { Color } from '../../../utils/colors';\nimport * as ListboxPrimitive from '../../../primitives/Listbox2/Listbox2';\nimport { createOptionClassName } from '../utilities';\nimport { useSelect2Context } from './Context';\nimport { IconButton } from '../../IconButton/IconButton';\nimport { EditPopover } from './Edit';\nimport { isMobileDevice } from '../../../utils/device';\n\nexport type Select2OptionProps = Omit<ListboxPrimitive.Listbox2OptionProps, 'children'> & {\n children: string;\n color?: Color;\n description?: string;\n icon?: React.ReactElement<IconProps> | IconName;\n textValue?: string;\n};\n\nexport const Option = React.forwardRef<HTMLDivElement, Select2OptionProps>(function Select2Option(props, ref) {\n const { children, color, description, icon, ...otherProps } = props;\n const className = createOptionClassName();\n const { onDelete, onEdit, listboxRef, multiple, ref: selectRef, setOpen, tags, value } = useSelect2Context();\n\n const hasValue = Array.isArray(value) ? !!value.length : value !== undefined;\n const isTag = tags && !!color;\n\n const handleClick = () => {\n if (!multiple) {\n setOpen(false);\n } else {\n selectRef.current?.focus();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (isAriaSelectionKey(event)) {\n if (!multiple || event.key === 'Tab') {\n setOpen(false);\n }\n }\n };\n\n const popover =\n onEdit || onDelete\n ? popoverProps => (\n <EditPopover\n {...popoverProps}\n color={props.color}\n key={props.textValue ?? String(props.children)}\n text={props.textValue ?? String(props.children)}\n value={props.value}\n />\n )\n : undefined;\n\n return (\n <ListboxPrimitive.Option {...otherProps} className={className} onClick={handleClick} onKeyDown={handleKeyDown} ref={ref}>\n {hasValue ? (\n <Icon name=\"tick\" className=\"pointer-events-none invisible -mx-0.5 !h-4 !w-4 group-aria-selected:visible\" />\n ) : null}\n\n {isTag ? (\n <Tag className=\"pointer-events-none my-1\" color={color} icon={icon}>\n {children}\n </Tag>\n ) : (\n <>\n {icon ? typeof icon === 'string' ? <Icon name={icon} /> : icon : null}\n <span className=\"flex flex-col\">\n <span>{children}</span>\n {description ? <span className=\"text-grey-700 -mt-1.5 mb-1.5 text-xs\">{description}</span> : null}\n </span>\n </>\n )}\n {popover ? (\n <IconButton\n rounded\n icon=\"ellipsis-vertical\"\n appearance=\"discrete\"\n className={cn('group-aria-current:visible invisible ml-auto -mr-2 focus:!shadow-none group-hover:visible', {\n '!visible': isMobileDevice(window?.navigator),\n })}\n onClick={event => {\n event.stopPropagation();\n listboxRef?.current?.setActiveIndex(event.currentTarget.parentElement as HTMLDivElement);\n }}\n popover={popover}\n tabIndex={-1}\n />\n ) : null}\n </ListboxPrimitive.Option>\n );\n});\n"],"names":["Option","React","forwardRef","Select2Option","props","ref","children","color","description","icon","otherProps","className","createOptionClassName","onDelete","onEdit","listboxRef","multiple","selectRef","setOpen","tags","value","useSelect2Context","hasValue","Array","isArray","length","undefined","isTag","handleClick","current","focus","handleKeyDown","event","isAriaSelectionKey","key","popover","popoverProps","EditPopover","textValue","String","text","ListboxPrimitive","onClick","onKeyDown","Icon","name","Tag","IconButton","rounded","appearance","cn","isMobileDevice","window","navigator","stopPropagation","setActiveIndex","currentTarget","parentElement","tabIndex"],"mappings":";;;;;;;;;;;;;;;MAqBaA,MAAM,gBAAGC,cAAK,CAACC,UAAU,CAAqC,SAASC,aAAa,CAACC,KAAK,EAAEC,GAAG;;EACxG,MAAM;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,WAAW;IAAEC,IAAI;IAAE,GAAGC;GAAY,GAAGN,KAAK;EACnE,MAAMO,SAAS,GAAGC,qBAAqB,EAAE;EACzC,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,UAAU;IAAEC,QAAQ;IAAEX,GAAG,EAAEY,SAAS;IAAEC,OAAO;IAAEC,IAAI;IAAEC;GAAO,GAAGC,iBAAiB,EAAE;EAE5G,MAAMC,QAAQ,GAAGC,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,GAAG,CAAC,CAACA,KAAK,CAACK,MAAM,GAAGL,KAAK,KAAKM,SAAS;EAC5E,MAAMC,KAAK,GAAGR,IAAI,IAAI,CAAC,CAACZ,KAAK;EAE7B,MAAMqB,WAAW,GAAG;IAChB,IAAI,CAACZ,QAAQ,EAAE;MACXE,OAAO,CAAC,KAAK,CAAC;KACjB,MAAM;MAAA;MACH,sBAAAD,SAAS,CAACY,OAAO,uDAAjB,mBAAmBC,KAAK,EAAE;;GAEjC;EAED,MAAMC,aAAa,GAAIC,KAA0B;IAC7C,IAAIC,kBAAkB,CAACD,KAAK,CAAC,EAAE;MAC3B,IAAI,CAAChB,QAAQ,IAAIgB,KAAK,CAACE,GAAG,KAAK,KAAK,EAAE;QAClChB,OAAO,CAAC,KAAK,CAAC;;;GAGzB;EAED,MAAMiB,OAAO,GACTrB,MAAM,IAAID,QAAQ,GACZuB,YAAY;IAAA;IAAA,oBACRnC,6BAACoC,WAAW,oBACJD,YAAY;MAChB7B,KAAK,EAAEH,KAAK,CAACG,KAAK;MAClB2B,GAAG,sBAAE9B,KAAK,CAACkC,SAAS,+DAAIC,MAAM,CAACnC,KAAK,CAACE,QAAQ,CAAC;MAC9CkC,IAAI,uBAAEpC,KAAK,CAACkC,SAAS,iEAAIC,MAAM,CAACnC,KAAK,CAACE,QAAQ,CAAC;MAC/Cc,KAAK,EAAEhB,KAAK,CAACgB;OACf;GACL,GACDM,SAAS;EAEnB,oBACIzB,6BAACwC,QAAuB,oBAAK/B,UAAU;IAAEC,SAAS,EAAEA,SAAS;IAAE+B,OAAO,EAAEd,WAAW;IAAEe,SAAS,EAAEZ,aAAa;IAAE1B,GAAG,EAAEA;MAC/GiB,QAAQ,gBACLrB,6BAAC2C,IAAI;IAACC,IAAI,EAAC,MAAM;IAAClC,SAAS,EAAC;IAAgF,GAC5G,IAAI,EAEPgB,KAAK,gBACF1B,6BAAC6C,GAAG;IAACnC,SAAS,EAAC,0BAA0B;IAACJ,KAAK,EAAEA,KAAK;IAAEE,IAAI,EAAEA;KACzDH,QAAQ,CACP,gBAENL,4DACKQ,IAAI,GAAG,OAAOA,IAAI,KAAK,QAAQ,gBAAGR,6BAAC2C,IAAI;IAACC,IAAI,EAAEpC;IAAQ,GAAGA,IAAI,GAAG,IAAI,eACrER;IAAMU,SAAS,EAAC;kBACZV,2CAAOK,QAAQ,CAAQ,EACtBE,WAAW,gBAAGP;IAAMU,SAAS,EAAC;KAAwCH,WAAW,CAAQ,GAAG,IAAI,CAC9F,CAEd,EACA2B,OAAO,gBACJlC,6BAAC8C,UAAU;IACPC,OAAO;IACPvC,IAAI,EAAC,mBAAmB;IACxBwC,UAAU,EAAC,UAAU;IACrBtC,SAAS,EAAEuC,EAAE,CAAC,2FAA2F,EAAE;MACvG,UAAU,EAAEC,cAAc,YAACC,MAAM,4CAAN,QAAQC,SAAS;KAC/C,CAAC;IACFX,OAAO,EAAEV,KAAK;;MACVA,KAAK,CAACsB,eAAe,EAAE;MACvBvC,UAAU,aAAVA,UAAU,8CAAVA,UAAU,CAAEc,OAAO,wDAAnB,oBAAqB0B,cAAc,CAACvB,KAAK,CAACwB,aAAa,CAACC,aAA+B,CAAC;KAC3F;IACDtB,OAAO,EAAEA,OAAO;IAChBuB,QAAQ,EAAE,CAAC;IACb,GACF,IAAI,CACc;AAElC,CAAC;;;;"}
@@ -12,25 +12,16 @@ import { useGridTemplate } from './hooks/useGridTemplate.js';
12
12
  import { RowDensityButton } from './components/RowDensityButton.js';
13
13
  import { ColumnSettingsButton } from './components/ColumnSettingsButton.js';
14
14
  import { ExpandedRow } from './components/row/ExpandedRow.js';
15
- import { useSeparatedChildren } from './hooks/useSeparatedChildren.js';
16
15
  import { BatchActionsMenu } from './components/BatchActionsMenu.js';
17
16
  import { Row } from './components/row/Row.js';
18
17
  import { FiltersButton } from './components/filters/FiltersButton.js';
19
18
  import { Search } from './components/Search.js';
20
- import { ShortcutsGuideButton } from './components/ShortcutsGuideButton.js';
21
19
  import { EditModeButton } from './components/EditModeButton.js';
22
20
 
23
21
  function Column(_) {
24
22
  return null;
25
23
  }
26
24
  Column.displayName = 'Table2Column';
27
- function Toolbar(props) {
28
- const className = cn('flex-grow', props.className);
29
- return /*#__PURE__*/React__default.createElement("div", Object.assign({}, props, {
30
- className: className
31
- }));
32
- }
33
- Toolbar.displayName = 'Table2Toolbar';
34
25
  const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref) {
35
26
  // dom
36
27
  const {
@@ -39,18 +30,19 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
39
30
  length = props.data.length,
40
31
  loadMore,
41
32
  onRowClick,
33
+ toolbarLeft,
34
+ toolbarRight,
42
35
  _experimentalActionsForTable,
43
36
  _experimentalActionsForTableSummary
44
37
  } = props;
45
38
  const tableRef = useMergedRef(ref);
46
39
  const timeoutIdRef = React__default.useRef();
47
40
  // react-table
48
- const [columns, toolbar] = useSeparatedChildren(props.children);
49
41
  const {
50
42
  rows,
51
43
  table,
52
44
  footers
53
- } = useTable(columns, props, tableRef);
45
+ } = useTable(props.children, props, tableRef);
54
46
  const meta = table.options.meta;
55
47
  const {
56
48
  columnVisibility,
@@ -157,11 +149,9 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
157
149
  return;
158
150
  }
159
151
  if (event.ctrlKey || event.metaKey) {
160
- event.preventDefault();
161
- if (event.key === 'a') {
162
- if (table.options.enableRowSelection) {
163
- table.toggleAllRowsSelected();
164
- }
152
+ if (event.key === 'a' && table.options.enableRowSelection) {
153
+ event.preventDefault();
154
+ table.toggleAllRowsSelected();
165
155
  }
166
156
  return;
167
157
  }
@@ -257,7 +247,7 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
257
247
  const className = cn('bg-white border border-grey-300 focus:yt-focus focus:border-blue-500 grid auto-rows-max overflow-auto relative rounded group', props.className);
258
248
  const enableSettingsButton = table.options.enablePinning || table.options.enableHiding || meta.enableColumnReordering;
259
249
  const hasInternalToolbar = enableSettingsButton || meta.editMode.enableEditMode || table.options.enableColumnFilters || meta.enableRowDensity || table.options.enableGlobalFilter;
260
- const hasToolbar = !!toolbar || hasInternalToolbar;
250
+ const hasToolbar = hasInternalToolbar || !!toolbarLeft || !toolbarRight;
261
251
  const hasFooters = React__default.useMemo(() => {
262
252
  const summaryIds = Object.keys(footers);
263
253
  const visibleIds = Object.keys(columnVisibility).filter(c => !columnVisibility[c]);
@@ -267,7 +257,7 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
267
257
  className: "-m-0.5 flex h-full w-[calc(100%_+_0.25rem)] flex-col gap-4 overflow-hidden p-0.5"
268
258
  }, hasToolbar ? /*#__PURE__*/React__default.createElement("div", {
269
259
  className: "flex flex-wrap gap-2"
270
- }, toolbar, hasInternalToolbar ? /*#__PURE__*/React__default.createElement(Group, {
260
+ }, toolbarLeft, hasInternalToolbar ? /*#__PURE__*/React__default.createElement(Group, {
271
261
  className: "ml-auto flex-shrink-0 print:hidden"
272
262
  }, meta.editMode.enableEditMode ? /*#__PURE__*/React__default.createElement(EditModeButton, {
273
263
  ref: editButtonRef,
@@ -277,7 +267,7 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
277
267
  }) : null, table.options.enableColumnFilters ? /*#__PURE__*/React__default.createElement(FiltersButton, {
278
268
  length: length,
279
269
  table: table
280
- }) : null, meta.enableRowDensity ? /*#__PURE__*/React__default.createElement(RowDensityButton, {
270
+ }) : null, toolbarRight, meta.enableRowDensity ? /*#__PURE__*/React__default.createElement(RowDensityButton, {
281
271
  table: table
282
272
  }) : null, enableSettingsButton ? /*#__PURE__*/React__default.createElement(ColumnSettingsButton, {
283
273
  table: table
@@ -285,9 +275,7 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
285
275
  disabled: meta.shouldDisableTableActions,
286
276
  onSearch: table.setGlobalFilter,
287
277
  value: globalFilter
288
- }) : null) : null, /*#__PURE__*/React__default.createElement(ShortcutsGuideButton, {
289
- table: table
290
- })) : null, /*#__PURE__*/React__default.createElement("div", {
278
+ }) : null) : null) : null, /*#__PURE__*/React__default.createElement("div", {
291
279
  className: className,
292
280
  "data-taco": "table2",
293
281
  onBlur: handleBlur,
@@ -384,7 +372,6 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
384
372
  }) : null);
385
373
  });
386
374
  Table2.Column = Column;
387
- Table2.Toolbar = Toolbar;
388
375
 
389
376
  export { Table2 };
390
377
  //# sourceMappingURL=Table2.js.map
@@ -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 columns: {\n actions: {\n tooltip: string;\n };\n drag: {\n tooltip: string;\n };\n expansion: {\n collapse: string;\n collapseAll: string;\n expand: string;\n expandAll: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n };\n columnSettings: {\n columnsOther: string;\n columnsOtherDrop: string;\n columnsPinned: string;\n columnsPinnedDrop: string;\n search: string;\n tooltip: string;\n };\n editing: {\n button: string;\n tooltip: string;\n tooltipDisabled: string;\n rowIndicator: {\n rowWillMove: string;\n rowWillBeHidden: string;\n rowWillMoveReasonSearch: string;\n rowWillMoveReasonFilter: string;\n rowWillMoveReasonSorting: string;\n };\n };\n filters: {\n button: string;\n buttons: {\n addFilter: string;\n clearFilters: string;\n };\n comparators: {\n contains: string;\n doesNotContain: string;\n isEqualTo: string;\n isNotEqualTo: string;\n isGreaterThan: string;\n isLessThan: string;\n isBetween: string;\n isOneOf: string;\n isNoneOf: string;\n isAllOf: string;\n isEmpty: string;\n isNotEmpty: string;\n };\n tooltip: string;\n total: string;\n };\n rowDensity: {\n tooltip: string;\n };\n search: {\n placeholder: string;\n };\n shortcuts: {\n tooltip: string;\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};\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: <TType>(props: Table2ColumnProps<TType>) => JSX.Element | null;\n Toolbar: React.FunctionComponent<Table2ToolbarProps>;\n} & (<TType>(props: Table2Props<TType> & { ref?: React.Ref<HTMLDivElement> }) => JSX.Element);\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 => {\n meta.setShouldPauseHoverState(true);\n virtualiser.scrollToIndex(nextIndex - 1);\n });\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 => {\n meta.setShouldPauseHoverState(true);\n\n // the virtualiser doesn't always scroll right to the bottom for the last row\n if (nextIndex === rows.length - 1) {\n tableRef.current?.scrollTo(0, tableRef.current.scrollHeight);\n } else {\n virtualiser.scrollToIndex(nextIndex + 2);\n }\n });\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 // 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.shouldPauseHoverState) {\n // sometimes the row's onMouseLeave doesn't trigger, this adds some extra redundancy\n handleMouseLeave = () => meta.setShouldPauseHoverState(false);\n }\n\n const className = cn(\n 'bg-white border border-grey-300 focus:yt-focus focus:border-blue-500 grid auto-rows-max 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=\"-m-0.5 flex h-full w-[calc(100%_+_0.25rem)] flex-col gap-4 overflow-hidden p-0.5\">\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\n ref={editButtonRef}\n table={table}\n tableRef={tableRef}\n scrollToIndex={virtualiser.scrollToIndex}\n />\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 value={globalFilter}\n />\n ) : null}\n </Group>\n ) : null}\n <ShortcutsGuideButton table={table} />\n </div>\n ) : null}\n <div\n className={className}\n data-taco=\"table2\"\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\" data-taco=\"table2-header\" 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\" data-taco=\"table2-body\" 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\" data-taco=\"table2-footer\">\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","setShouldPauseHoverState","scrollToIndex","totalSize","moveToNextRow","scrollTo","scrollHeight","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","scrollTop","clientHeight","isAllRowsSelected","getIsAllRowsSelected","handleMouseLeave","shouldPauseHoverState","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","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":";;;;;;;;;;;;;;;;;;;;;;AA8GA,SAASA,MAAM,CAAcC,CAA2B;EACpD,OAAO,IAAI;AACf;AACAD,MAAM,CAACE,WAAW,GAAG,cAAc;AAEnC,SAASC,OAAO,CAACC,KAAyB;EACtC,MAAMC,SAAS,GAAGC,EAAE,CAAC,WAAW,EAAEF,KAAK,CAACC,SAAS,CAAC;EAClD,oBAAOE,sDAASH,KAAK;IAAEC,SAAS,EAAEA;KAAa;AACnD;AACAF,OAAO,CAACD,WAAW,GAAG,eAAe;MAO/BM,MAAM,gBAAGD,cAAK,CAACE,UAAU,CAAC,SAASD,MAAM,CAAcJ,KAAyB,EAAEM,GAA8B;;EAElH,MAAM;IACFC,UAAU,EAAEC,UAAU;IACtBC,mBAAmB;IACnBC,MAAM,GAAGV,KAAK,CAACW,IAAI,CAACD,MAAM;IAC1BE,QAAQ;IACRC,UAAU;IACVC,4BAA4B;IAC5BC;GACH,GAAGf,KAAK;EACT,MAAMgB,QAAQ,GAAGC,YAAY,CAAiBX,GAAG,CAAC;EAClD,MAAMY,YAAY,GAAGf,cAAK,CAACgB,MAAM,EAAkB;;EAGnD,MAAM,CAACC,OAAO,EAAEC,OAAO,CAAC,GAAGC,oBAAoB,CAACtB,KAAK,CAACuB,QAAQ,CAAC;EAC/D,MAAM;IAAEC,IAAI;IAAEC,KAAK;IAAEC;GAAS,GAAGC,QAAQ,CAACP,OAAO,EAAEpB,KAAK,EAAEgB,QAAQ,CAAC;EACnE,MAAMY,IAAI,GAAGH,KAAK,CAACI,OAAO,CAACD,IAAwB;EAEnD,MAAM;IAAEE,gBAAgB;IAAEC,WAAW;IAAEC;GAAc,GAAGP,KAAK,CAACQ,QAAQ,EAAE;;;;EAKxE9B,cAAK,CAAC+B,SAAS,CAAC;IACZN,IAAI,CAACO,4BAA4B,EAAE;GACtC,EAAE,CAACL,gBAAgB,EAAEC,WAAW,CAAC,CAAC;EAEnC5B,cAAK,CAAC+B,SAAS,CAAC;;;IAGZ,IAAI,CAACN,IAAI,CAACQ,QAAQ,CAACC,SAAS,EAAE;MAC1BT,IAAI,CAACO,4BAA4B,EAAE;;GAE1C,EAAE,CAACP,IAAI,CAACQ,QAAQ,CAACC,SAAS,CAAC,CAAC;EAE7BlC,cAAK,CAAC+B,SAAS,CAAC;IACZ,OAAO,MAAMI,YAAY,CAACpB,YAAY,CAACqB,OAAO,CAAC;GAClD,EAAE,EAAE,CAAC;;EAGN,MAAM;IAAEC,WAAW;IAAEC,kBAAkB;IAAEC;GAAqB,GAAGC,cAAc,CAAC;IAAEnB,IAAI;IAAEC;GAAO,EAAET,QAAQ,CAAC;;EAG1G,MAAM4B,mBAAmB,GAAGC,eAAe,CAACpB,KAAK,CAAC;;EAGlD,MAAMqB,aAAa,GAAG3C,cAAK,CAACgB,MAAM,CAAC,IAAI,CAAC;;EAGxC,MAAM4B,aAAa,GAAIC,KAA0B;IAC7C,IAAIC,QAAQ,CAACC,aAAa,KAAKlC,QAAQ,CAACuB,OAAO,EAAE;MAC7C,IAAIS,KAAK,CAACG,GAAG,KAAK,SAAS,EAAE;QACzBH,KAAK,CAACI,cAAc,EAAE;QAEtB,IAAIJ,KAAK,CAACK,OAAO,IAAIL,KAAK,CAACM,OAAO,EAAE;UAChC1B,IAAI,CAAC2B,iBAAiB,CAAC,CAAC,CAAC;UACzBf,WAAW,CAACgB,cAAc,CAAC,CAAC,CAAC;SAChC,MAAM;UACH5B,IAAI,CAAC6B,iBAAiB,CAACjC,IAAI,EAAEkC,SAAS;YAClC9B,IAAI,CAAC+B,wBAAwB,CAAC,IAAI,CAAC;YACnCnB,WAAW,CAACoB,aAAa,CAACF,SAAS,GAAG,CAAC,CAAC;WAC3C,CAAC;;QAGN;OACH,MAAM,IAAIV,KAAK,CAACG,GAAG,KAAK,WAAW,EAAE;QAClCH,KAAK,CAACI,cAAc,EAAE;QAEtB,IAAIJ,KAAK,CAACK,OAAO,IAAIL,KAAK,CAACM,OAAO,EAAE;UAChC1B,IAAI,CAAC2B,iBAAiB,CAAC/B,IAAI,CAACd,MAAM,GAAG,CAAC,CAAC;UACvC8B,WAAW,CAACgB,cAAc,CAAChB,WAAW,CAACqB,SAAS,GAAG,CAAC,CAAC;SACxD,MAAM;UACHjC,IAAI,CAACkC,aAAa,CAACtC,IAAI,EAAEkC,SAAS;YAC9B9B,IAAI,CAAC+B,wBAAwB,CAAC,IAAI,CAAC;;YAGnC,IAAID,SAAS,KAAKlC,IAAI,CAACd,MAAM,GAAG,CAAC,EAAE;cAAA;cAC/B,qBAAAM,QAAQ,CAACuB,OAAO,sDAAhB,kBAAkBwB,QAAQ,CAAC,CAAC,EAAE/C,QAAQ,CAACuB,OAAO,CAACyB,YAAY,CAAC;aAC/D,MAAM;cACHxB,WAAW,CAACoB,aAAa,CAACF,SAAS,GAAG,CAAC,CAAC;;WAE/C,CAAC;;QAGN;;MAGJ,MAAMO,qBAAqB,GAAGxC,KAAK,CAACI,OAAO,CAACqC,eAAe;MAE3D,IAAIlB,KAAK,CAACG,GAAG,KAAK,WAAW,EAAE;QAC3BH,KAAK,CAACI,cAAc,EAAE;QAEtB,IAAIJ,KAAK,CAACK,OAAO,IAAIL,KAAK,CAACM,OAAO,EAAE;UAChC,IAAIW,qBAAqB,EAAE;YAAA;YACvB,yBAAAzC,IAAI,CAACI,IAAI,CAACuC,cAAc,CAAC,0DAAzB,sBAA2BC,cAAc,CAAC,KAAK,CAAC;;;QAGxD;;MAGJ,IAAIpB,KAAK,CAACG,GAAG,KAAK,YAAY,EAAE;QAC5BH,KAAK,CAACI,cAAc,EAAE;QAEtB,IAAIJ,KAAK,CAACK,OAAO,IAAIL,KAAK,CAACM,OAAO,EAAE;UAChC,IAAIW,qBAAqB,EAAE;YAAA;YACvB,0BAAAzC,IAAI,CAACI,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEuC,cAAc,CAAC,2DAA1B,uBAA4BC,cAAc,CAAC,IAAI,CAAC;;;QAIxD;;MAGJ,IAAIpB,KAAK,CAACG,GAAG,KAAK,OAAO,EAAE;QACvBH,KAAK,CAACI,cAAc,EAAE;QAEtB,IAAIvC,UAAU,EAAE;UACZA,UAAU,CAACW,IAAI,CAACI,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEuC,cAAc,CAAC,CAACE,QAAQ,CAAC;;QAGnD;;MAGJ,IAAIrB,KAAK,CAACG,GAAG,KAAK,GAAG,EAAE;QACnBH,KAAK,CAACI,cAAc,EAAE;QAEtB,IAAI3B,KAAK,CAACI,OAAO,CAACyC,kBAAkB,EAAE;UAAA;UAClC,0BAAA9C,IAAI,CAACI,IAAI,CAACuC,cAAc,CAAC,2DAAzB,uBAA2BI,cAAc,EAAE;;QAG/C;;MAGJ,IAAIvB,KAAK,CAACK,OAAO,IAAIL,KAAK,CAACM,OAAO,EAAE;QAChCN,KAAK,CAACI,cAAc,EAAE;QAEtB,IAAIJ,KAAK,CAACG,GAAG,KAAK,GAAG,EAAE;UACnB,IAAI1B,KAAK,CAACI,OAAO,CAACyC,kBAAkB,EAAE;YAClC7C,KAAK,CAAC+C,qBAAqB,EAAE;;;QAIrC;;;GAGX;EAED,IAAIC,UAAU;EAEd,IAAI7C,IAAI,CAACQ,QAAQ,CAACC,SAAS,EAAE;IACzBoC,UAAU,GAAIzB,KAAuB;;MACjC,IAAI0B,mBAAmB,GAAG1B,KAAK,CAAC2B,aAAa;MAE7C,IAAID,mBAAmB,KAAKE,SAAS,EAAE;QACnC;;;;MAKJ,MAAMC,QAAQ,2BAAGH,mBAAmB,kFAAnB,qBAAqBI,OAAO,CAAC,oDAAoD,CAAC,0DAAlF,sBAAoFC,EAAE;MAEvG,IAAIF,QAAQ,EAAE;QAAA;QACVH,mBAAmB,4BAAG1B,KAAK,CAACgC,aAAa,CAACC,aAAa,oBAAoBJ,YAAY,CAAC,yEAAI7B,KAAK,CAAC2B,aAAa;;MAGnH,IAAI,0BAAC3B,KAAK,CAACgC,aAAa,iDAAnB,qBAAqBE,QAAQ,CAACR,mBAAmB,CAAC,KAAIA,mBAAmB,KAAK5B,aAAa,CAACP,OAAO,EAAE;;;;;QAKtGrB,YAAY,CAACqB,OAAO,GAAG4C,UAAU,CAAC;UAC9B,MAAMC,SAAS,GAAGpC,KAAK,CAACqC,MAAM,CAACP,OAAO,CAAC,cAAc,CAAC;UACtD,MAAMQ,6BAA6B,GAAGF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEF,QAAQ,CAACjC,QAAQ,CAACC,aAAa,CAAC;;;UAIjF,IAAItB,IAAI,CAAC2D,8BAA8B,IAAI,CAACD,6BAA6B,EAAE;;YAEvE1D,IAAI,CAAC4D,iCAAiC,CAAC,KAAK,CAAC;;SAEpD,CAAC;;KAET;;;;EAKL,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGvF,cAAK,CAACwF,QAAQ,CAAC,KAAK,CAAC;;EAGrD,MAAMC,UAAU,GAAGzF,cAAK,CAACgB,MAAM,CAAC,KAAK,CAAC;EAEtC,MAAM0E,YAAY,aAAU7C,KAAuC;IAAA;;YAC3DA,KAAK,CAACgC,aAAa,CAACc,UAAU,GAAG,CAAC,IAAI,CAACL,QAAQ;UAC/CC,WAAW,CAAC,IAAI,CAAC;;UAAC;YAAA,IACX1C,KAAK,CAACgC,aAAa,CAACc,UAAU,KAAK,CAAC,IAAIL,QAAQ;cACvDC,WAAW,CAAC,KAAK,CAAC;;cAAC;gBAAA,IACZ,OAAO9E,QAAQ,KAAK,UAAU;kBAAA;oBAAA,IAEjCoC,KAAK,CAACgC,aAAa,CAAChB,YAAY,GAAGhB,KAAK,CAACgC,aAAa,CAACe,SAAS,GAAG/C,KAAK,CAACgC,aAAa,CAACgB,YAAY,GAAG,GAAG,IACzG,CAACJ,UAAU,CAACrD,OAAO;sBAAA,2CAEf;wBACA,MAAM0D,iBAAiB,GAAGxE,KAAK,CAACyE,oBAAoB,EAAE;wBACtDN,UAAU,CAACrD,OAAO,GAAG,IAAI;wBAAC,uBACpB3B,QAAQ,EAAE;0BAAA,IAEZqF,iBAAiB;4BACjBxE,KAAK,CAAC+C,qBAAqB,CAAC,IAAI,CAAC;;;uBAExC;wBACGoB,UAAU,CAACrD,OAAO,GAAG,KAAK;wBAAC;wBAAA;;sBAAA;;;kBAAA;;;cAAA;;;UAAA;;;MAAA;KAI1C;MAAA;;;EAED,IAAI4D,gBAAgB;EAEpB,IAAIvE,IAAI,CAACwE,qBAAqB,EAAE;;IAE5BD,gBAAgB,GAAG,MAAMvE,IAAI,CAAC+B,wBAAwB,CAAC,KAAK,CAAC;;EAGjE,MAAM1D,SAAS,GAAGC,EAAE,CAChB,8HAA8H,EAC9HF,KAAK,CAACC,SAAS,CAClB;EAED,MAAMoG,oBAAoB,GAAG5E,KAAK,CAACI,OAAO,CAACyE,aAAa,IAAI7E,KAAK,CAACI,OAAO,CAAC0E,YAAY,IAAI3E,IAAI,CAAC4E,sBAAsB;EACrH,MAAMC,kBAAkB,GACpBJ,oBAAoB,IACpBzE,IAAI,CAACQ,QAAQ,CAACsE,cAAc,IAC5BjF,KAAK,CAACI,OAAO,CAAC8E,mBAAmB,IACjC/E,IAAI,CAACgF,gBAAgB,IACrBnF,KAAK,CAACI,OAAO,CAACgF,kBAAkB;EACpC,MAAMC,UAAU,GAAG,CAAC,CAACzF,OAAO,IAAIoF,kBAAkB;EAElD,MAAMM,UAAU,GAAG5G,cAAK,CAAC6G,OAAO,CAAC;IAC7B,MAAMC,UAAU,GAAGC,MAAM,CAACC,IAAI,CAACzF,OAAO,CAAC;IACvC,MAAM0F,UAAU,GAAGF,MAAM,CAACC,IAAI,CAACrF,gBAAgB,CAAC,CAACuF,MAAM,CAACC,CAAC,IAAI,CAACxF,gBAAgB,CAACwF,CAAC,CAAC,CAAC;IAClF,OAAOL,UAAU,CAACvG,MAAM,IAAIuG,UAAU,CAACM,IAAI,CAACC,CAAC,IAAI,CAACJ,UAAU,CAACK,QAAQ,CAACD,CAAC,CAAC,CAAC;GAC5E,EAAE,CAAC9F,OAAO,EAAEI,gBAAgB,CAAC,CAAC;EAE/B,oBACI3B;IAAKF,SAAS,EAAC;KACV6G,UAAU,gBACP3G;IAAKF,SAAS,EAAC;KACVoB,OAAO,EACPoF,kBAAkB,gBACftG,6BAACuH,KAAK;IAACzH,SAAS,EAAC;KACZ2B,IAAI,CAACQ,QAAQ,CAACsE,cAAc,gBACzBvG,6BAACwH,cAAc;IACXrH,GAAG,EAAEwC,aAAa;IAClBrB,KAAK,EAAEA,KAAK;IACZT,QAAQ,EAAEA,QAAQ;IAClB4C,aAAa,EAAEpB,WAAW,CAACoB;IAC7B,GACF,IAAI,EACPnC,KAAK,CAACI,OAAO,CAAC8E,mBAAmB,gBAAGxG,6BAACyH,aAAa;IAAClH,MAAM,EAAEA,MAAM;IAAEe,KAAK,EAAEA;IAAS,GAAG,IAAI,EAC1FG,IAAI,CAACgF,gBAAgB,gBAAGzG,6BAAC0H,gBAAgB;IAACpG,KAAK,EAAEA;IAAS,GAAG,IAAI,EACjE4E,oBAAoB,gBAAGlG,6BAAC2H,oBAAoB;IAACrG,KAAK,EAAEA;IAAS,GAAG,IAAI,EACpEA,KAAK,CAACI,OAAO,CAACgF,kBAAkB,gBAC7B1G,6BAAC4H,MAAM;IACHC,QAAQ,EAAEpG,IAAI,CAACqG,yBAAyB;IACxCC,QAAQ,EAAEzG,KAAK,CAAC0G,eAAe;IAC/BC,KAAK,EAAEpG;IACT,GACF,IAAI,CACJ,GACR,IAAI,eACR7B,6BAACkI,oBAAoB;IAAC5G,KAAK,EAAEA;IAAS,CACpC,GACN,IAAI,eACRtB;IACIF,SAAS,EAAEA,SAAS;iBACV,QAAQ;IAClBqI,MAAM,EAAE7D,UAAU;IAClB8D,SAAS,EAAExF,aAAa;IACxByF,YAAY,EAAErC,gBAAgB;IAC9BsC,QAAQ,EAAE5C,YAAY;IACtBvF,GAAG,EAAEU,QAAQ;IACb0H,IAAI,EAAC,OAAO;IACZC,KAAK,EAAE;MACH/F,mBAAmB;MACnBgG,gBAAgB,EAAEpH,IAAI,CAACd,MAAM,GAAGkE,SAAS,GAAG,MAAM;;;MAGlDiE,OAAO,EAAE;KACZ;IACDC,QAAQ,EAAE;kBACV3I;IAAKF,SAAS,EAAC,UAAU;iBAAW,eAAe;IAACyI,IAAI,EAAC;KACpDjH,KAAK,CAACsH,eAAe,EAAE,CAACC,GAAG,CAACC,WAAW,iBACpC9I;IAAKF,SAAS,EAAC,UAAU;IAACkD,GAAG,EAAE8F,WAAW,CAAClE,EAAE;IAAE2D,IAAI,EAAC;KAC/CO,WAAW,CAACC,OAAO,CAACF,GAAG,CAAC,CAACG,MAAM,EAAEC,WAAW,kBACzCjJ,6BAACkJ,MAAM;IACHlG,GAAG,EAAEgG,MAAM,CAACpE,EAAE;IACdoE,MAAM,EAAEA,MAAM;IACdG,KAAK,EAAEF,WAAW;IAClBG,YAAY,EAAEH,WAAW,KAAKH,WAAW,CAACC,OAAO,CAACxI,MAAM,GAAG,CAAC;IAC5D+E,QAAQ,EAAEA,QAAQ;IAClBhE,KAAK,EAAEA,KAAK;IACZT,QAAQ,EAAEA;IAEjB,CAAC,CAET,CAAC,CACA,EACLQ,IAAI,CAACd,MAAM,gBACRP;IAAKF,SAAS,EAAC,UAAU;iBAAW,aAAa;IAACyI,IAAI,EAAC;KAClDjG,kBAAkB,CAAC+G,GAAG,gBACnBrJ;IAAKwI,KAAK,EAAE;MAAEc,MAAM,EAAEhH,kBAAkB,CAAC+G;KAAK;IAAEvJ,SAAS,EAAC;IAAkB,GAC5E,IAAI,EACPuC,WAAW,CAACkH,YAAY,CAACV,GAAG,CAACW,UAAU;;IACpC,MAAMC,GAAG,GAAGpI,IAAI,CAACmI,UAAU,CAACL,KAAK,CAAC;IAElC,oBACInJ,6BAACA,cAAK,CAAC0J,QAAQ;MAAC1G,GAAG,EAAEyG,GAAG,CAAC7E;oBACrB5E,6BAAC2J,GAAG;MAAC7J,SAAS,EAAC,oBAAoB;MAAC2J,GAAG,EAAEA,GAAG;MAAEG,QAAQ,EAAEJ,UAAU,CAACL,KAAK;MAAE7H,KAAK,EAAEA;OAC5EmI,GAAG,CAACI,eAAe,EAAE,CAAChB,GAAG,CAAC,CAACiB,IAAI,EAAEb,WAAW,kBACzCjJ,6BAAC+J,IAAI;MACDD,IAAI,EAAEA,IAAI;MACV9G,GAAG,KAAK8G,IAAI,CAAClF,MAAMkF,IAAI,CAACE,QAAQ,IAAI;MACpCb,KAAK,EAAEF,WAAW;MAClBgB,SAAS,EAAET,UAAU,CAACL,KAAK,KAAK9H,IAAI,CAACd,MAAM,GAAG,CAAC;MAC/Cc,IAAI,EAAEA,IAAI;MACVuI,QAAQ,EAAEJ,UAAU,CAACL,KAAK;MAC1B7D,QAAQ,EAAEA,QAAQ;MAClB7B,aAAa,EAAEpB,WAAW,CAACoB,aAAa;MACxCJ,cAAc,EAAEhB,WAAW,CAACgB,cAAc;MAC1C/B,KAAK,EAAEA,KAAK;MACZT,QAAQ,EAAEA;MAEjB,CAAC,CACA,EACL4I,GAAG,CAACS,aAAa,EAAE,IAAI5J,mBAAmB,gBACvCN,6BAACmK,WAAW;MAAChB,KAAK,EAAEK,UAAU,CAACL,KAAK;MAAEiB,OAAO,EAAE7H;+BAC1CjC,mBAAmB,CAACmJ,GAAG,CAACvF,QAAQ,CAAC,yDAAjC,sBAAqC,CAC5B,GACd,IAAI,CACK;GAExB,CAAC,EACD5B,kBAAkB,CAAC+H,MAAM,gBACtBrK;IAAKwI,KAAK,EAAE;MAAEc,MAAM,EAAEhH,kBAAkB,CAAC+H;KAAQ;IAAEvK,SAAS,EAAC;IAAkB,GAC/E,IAAI,CACN,gBAENE;IAAKF,SAAS,EAAC;KAA0CO,UAAU,gBAAGL,6BAACK,UAAU,OAAG,GAAG,IAAI,CAC9F,EACAuG,UAAU,gBACP5G;IAAKuI,IAAI,EAAC,UAAU;IAACzI,SAAS,EAAC,UAAU;iBAAW;KAC/CwB,KAAK,CAACgJ,eAAe,EAAE,CAACzB,GAAG,CAAC0B,WAAW,iBACpCvK;IAAKgD,GAAG,EAAEuH,WAAW,CAAC3F,EAAE;IAAE2D,IAAI,EAAC,KAAK;IAACzI,SAAS,EAAC;KAC1CyK,WAAW,CAACxB,OAAO,CAACF,GAAG,CAAC,CAAC2B,MAAM,EAAEC,SAAS,kBACvCzK,6BAAC0K,MAAM;IAAC1H,GAAG,EAAEwH,MAAM,CAAC5F,EAAE;IAAE4F,MAAM,EAAEA,MAAM;IAAErB,KAAK,EAAEsB,SAAS;IAAEnF,QAAQ,EAAEA,QAAQ;IAAEhE,KAAK,EAAEA;KAChFC,OAAO,CAACiJ,MAAM,CAAC5F,EAAE,CAAC,GACbrD,OAAO,CAACiJ,MAAM,CAAC5F,EAAE,CAAC,CAACvD,IAAI,CAACwH,GAAG,CAAEY,GAAgB,IAAKA,GAAG,CAACvF,QAAQ,CAACsG,MAAM,CAAC5F,EAAE,CAAC,CAAC,CAAC,GAC3E,IAAI,CAEjB,CAAC,CAET,CAAC,CACA,GACN,IAAI,CACN,EACL,CAAC,CAACjE,4BAA4B,IAC/BW,KAAK,CAACI,OAAO,CAACyC,kBAAkB,KAC/B7C,KAAK,CAACqJ,qBAAqB,EAAE,IAAIrJ,KAAK,CAACyE,oBAAoB,EAAE,CAAC,gBAC3D/F,6BAAC4K,gBAAgB;IACb9K,SAAS,EAAC,gDAAgD;IAC1D+K,eAAe,EAAElK,4BAA4B;IAC7CmK,OAAO,EAAElK,mCAAmC;IAC5CU,KAAK,EAAEA;IACT,GACF,IAAI,CACN;AAEd,CAAC;AAEDrB,MAAM,CAACR,MAAM,GAAGA,MAAM;AACtBQ,MAAM,CAACL,OAAO,GAAGA,OAAO;;;;"}
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 } 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 { BatchActionsMenu } from './components/BatchActionsMenu';\nimport { Row } from './components/row/Row';\nimport { FiltersButton } from './components/filters/FiltersButton';\nimport { Search } from './components/Search';\nimport { EditModeButton } from './components/EditModeButton';\n\nexport type Table2Texts = {\n columns: {\n actions: {\n tooltip: string;\n };\n drag: {\n tooltip: string;\n };\n expansion: {\n collapse: string;\n collapseAll: string;\n expand: string;\n expandAll: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n };\n columnSettings: {\n columnsOther: string;\n columnsOtherDrop: string;\n columnsPinned: string;\n columnsPinnedDrop: string;\n search: string;\n tooltip: string;\n };\n editing: {\n button: string;\n tooltip: string;\n tooltipDisabled: string;\n rowIndicator: {\n rowWillMove: string;\n rowWillBeHidden: string;\n rowWillMoveReasonSearch: string;\n rowWillMoveReasonFilter: string;\n rowWillMoveReasonSorting: string;\n };\n };\n filters: {\n button: string;\n buttons: {\n addFilter: string;\n clearFilters: string;\n };\n comparators: {\n contains: string;\n doesNotContain: string;\n isEqualTo: string;\n isNotEqualTo: string;\n isGreaterThan: string;\n isLessThan: string;\n isBetween: string;\n isOneOf: string;\n isNoneOf: string;\n isAllOf: string;\n isEmpty: string;\n isNotEmpty: string;\n };\n tooltip: string;\n total: string;\n };\n rowDensity: {\n tooltip: string;\n };\n search: {\n placeholder: string;\n };\n shortcuts: {\n tooltip: string;\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};\n\nfunction Column<TType = any>(_: Table2ColumnProps<TType>) {\n return null;\n}\nColumn.displayName = 'Table2Column';\n\nexport type ForwardedTable2WithStatics = React.ForwardRefExoticComponent<Table2Props<any>> & {\n Column: <TType>(props: Table2ColumnProps<TType>) => JSX.Element | null;\n} & (<TType>(props: Table2Props<TType> & { ref?: React.Ref<HTMLDivElement> }) => JSX.Element);\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 toolbarLeft,\n toolbarRight,\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 { rows, table, footers } = useTable(props.children, 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 => {\n meta.setShouldPauseHoverState(true);\n virtualiser.scrollToIndex(nextIndex - 1);\n });\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 => {\n meta.setShouldPauseHoverState(true);\n\n // the virtualiser doesn't always scroll right to the bottom for the last row\n if (nextIndex === rows.length - 1) {\n tableRef.current?.scrollTo(0, tableRef.current.scrollHeight);\n } else {\n virtualiser.scrollToIndex(nextIndex + 2);\n }\n });\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 if (event.key === 'a' && table.options.enableRowSelection) {\n event.preventDefault();\n table.toggleAllRowsSelected();\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 // 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.shouldPauseHoverState) {\n // sometimes the row's onMouseLeave doesn't trigger, this adds some extra redundancy\n handleMouseLeave = () => meta.setShouldPauseHoverState(false);\n }\n\n const className = cn(\n 'bg-white border border-grey-300 focus:yt-focus focus:border-blue-500 grid auto-rows-max 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 = hasInternalToolbar || !!toolbarLeft || !toolbarRight;\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=\"-m-0.5 flex h-full w-[calc(100%_+_0.25rem)] flex-col gap-4 overflow-hidden p-0.5\">\n {hasToolbar ? (\n <div className=\"flex flex-wrap gap-2\">\n {toolbarLeft}\n {hasInternalToolbar ? (\n <Group className=\"ml-auto flex-shrink-0 print:hidden\">\n {meta.editMode.enableEditMode ? (\n <EditModeButton\n ref={editButtonRef}\n table={table}\n tableRef={tableRef}\n scrollToIndex={virtualiser.scrollToIndex}\n />\n ) : null}\n {table.options.enableColumnFilters ? <FiltersButton length={length} table={table} /> : null}\n {toolbarRight}\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 value={globalFilter}\n />\n ) : null}\n </Group>\n ) : null}\n {/*<ShortcutsGuideButton table={table} />*/}\n </div>\n ) : null}\n <div\n className={className}\n data-taco=\"table2\"\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\" data-taco=\"table2-header\" 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\" data-taco=\"table2-body\" 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\" data-taco=\"table2-footer\">\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;\n\nexport { Table2 };\nexport type { Table2Props };\nexport type { Table2ColumnProps, Table2ActionProps, Table2RowActionProps, Table2Settings } from './types';\n"],"names":["Column","_","displayName","Table2","React","forwardRef","props","ref","emptyState","EmptyState","expandedRowRenderer","length","data","loadMore","onRowClick","toolbarLeft","toolbarRight","_experimentalActionsForTable","_experimentalActionsForTableSummary","tableRef","useMergedRef","timeoutIdRef","useRef","rows","table","footers","useTable","children","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","setShouldPauseHoverState","scrollToIndex","totalSize","moveToNextRow","scrollTo","scrollHeight","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","scrollTop","clientHeight","isAllRowsSelected","getIsAllRowsSelected","handleMouseLeave","shouldPauseHoverState","className","cn","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","value","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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"}