@economic/taco 1.28.0 → 1.29.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.
Files changed (88) hide show
  1. package/dist/components/Header/Header.d.ts +2 -1
  2. package/dist/components/Header/components/Button.d.ts +1 -1
  3. package/dist/components/Header/components/Logo.d.ts +1 -0
  4. package/dist/components/Icon/components/ColumnFreeze.d.ts +3 -0
  5. package/dist/components/Icon/components/ColumnUnfreeze.d.ts +3 -0
  6. package/dist/components/Icon/components/index.d.ts +1 -1
  7. package/dist/components/Input/Input.d.ts +1 -1
  8. package/dist/components/Menu/components/Item.d.ts +1 -1
  9. package/dist/components/Menu/components/Link.d.ts +1 -1
  10. package/dist/components/Navigation2/components/Link.d.ts +1 -1
  11. package/dist/components/Provider/Localization.d.ts +12 -4
  12. package/dist/components/Select2/components/Option.d.ts +1 -1
  13. package/dist/components/Select2/components/Search.d.ts +1 -1
  14. package/dist/components/Table2/Table2.d.ts +11 -4
  15. package/dist/components/Table2/components/row/ExpandedRow.d.ts +1 -1
  16. package/dist/components/Table2/hooks/useColumnDefinitions.d.ts +2 -2
  17. package/dist/components/Table2/hooks/useTable.d.ts +4 -0
  18. package/dist/components/Table2/types.d.ts +3 -4
  19. package/dist/components/Table2/utilities/cell.d.ts +1 -1
  20. package/dist/components/Table2/utilities/columns.d.ts +1 -0
  21. package/dist/components/Tag/Tag.d.ts +1 -1
  22. package/dist/components/Truncate/Truncate.d.ts +6 -0
  23. package/dist/esm/packages/taco/src/components/Header/Header.js +3 -2
  24. package/dist/esm/packages/taco/src/components/Header/Header.js.map +1 -1
  25. package/dist/esm/packages/taco/src/components/Header/components/Button.js +3 -1
  26. package/dist/esm/packages/taco/src/components/Header/components/Button.js.map +1 -1
  27. package/dist/esm/packages/taco/src/components/Header/components/Logo.js +19 -2
  28. package/dist/esm/packages/taco/src/components/Header/components/Logo.js.map +1 -1
  29. package/dist/esm/packages/taco/src/components/Header/components/MenuButton.js +1 -1
  30. package/dist/esm/packages/taco/src/components/Header/components/MenuButton.js.map +1 -1
  31. package/dist/esm/packages/taco/src/components/Header/components/SecondaryNavigation.js +1 -1
  32. package/dist/esm/packages/taco/src/components/Header/components/SecondaryNavigation.js.map +1 -1
  33. package/dist/esm/packages/taco/src/components/Icon/components/ColumnFreeze.js +19 -0
  34. package/dist/esm/packages/taco/src/components/Icon/components/ColumnFreeze.js.map +1 -0
  35. package/dist/esm/packages/taco/src/components/Icon/components/ColumnUnfreeze.js +19 -0
  36. package/dist/esm/packages/taco/src/components/Icon/components/ColumnUnfreeze.js.map +1 -0
  37. package/dist/esm/packages/taco/src/components/Icon/components/index.js +4 -0
  38. package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
  39. package/dist/esm/packages/taco/src/components/Input/Input.js +14 -14
  40. package/dist/esm/packages/taco/src/components/Input/Input.js.map +1 -1
  41. package/dist/esm/packages/taco/src/components/Provider/Localization.js +13 -6
  42. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  43. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js +1 -0
  44. package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
  45. package/dist/esm/packages/taco/src/components/Select2/components/Collection.js +2 -1
  46. package/dist/esm/packages/taco/src/components/Select2/components/Collection.js.map +1 -1
  47. package/dist/esm/packages/taco/src/components/Table2/Table2.js +21 -9
  48. package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -1
  49. package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js +243 -111
  50. package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js.map +1 -1
  51. package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js +5 -5
  52. package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js.map +1 -1
  53. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +76 -31
  54. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +1 -1
  55. package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js +2 -2
  56. package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js.map +1 -1
  57. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js +85 -19
  58. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js.map +1 -1
  59. package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js +3 -0
  60. package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js.map +1 -1
  61. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js +6 -3
  62. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js.map +1 -1
  63. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js +2 -2
  64. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js.map +1 -1
  65. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +6 -9
  66. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +1 -1
  67. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js +14 -6
  68. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +1 -1
  69. package/dist/esm/packages/taco/src/components/Table2/types.js.map +1 -1
  70. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js +8 -8
  71. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js.map +1 -1
  72. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +17 -8
  73. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +1 -1
  74. package/dist/esm/packages/taco/src/components/Truncate/Truncate.js +32 -0
  75. package/dist/esm/packages/taco/src/components/Truncate/Truncate.js.map +1 -0
  76. package/dist/esm/packages/taco/src/index.js +1 -1
  77. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Option.js +3 -1
  78. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Option.js.map +1 -1
  79. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Root.js +3 -1
  80. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Root.js.map +1 -1
  81. package/dist/esm/packages/taco/src/primitives/Sortable/components/Item.js +5 -1
  82. package/dist/esm/packages/taco/src/primitives/Sortable/components/Item.js.map +1 -1
  83. package/dist/taco.cjs.development.js +601 -234
  84. package/dist/taco.cjs.development.js.map +1 -1
  85. package/dist/taco.cjs.production.min.js +1 -1
  86. package/dist/taco.cjs.production.min.js.map +1 -1
  87. package/package.json +2 -2
  88. package/types.json +74 -19
@@ -87,15 +87,22 @@ const defaultLocalisationTexts = {
87
87
  deselectAll: 'Deselect all rows',
88
88
  select: 'Select row',
89
89
  selectAll: 'Select all rows'
90
+ },
91
+ menu: {
92
+ freezeColumns: 'Freeze first [X] columns',
93
+ unfreezeColumns: 'Unfreeze all columns'
90
94
  }
91
95
  },
92
96
  columnSettings: {
93
- columnsOther: 'Other columns',
94
- columnsOtherDrop: 'Drop column here to unpin',
95
- columnsPinned: 'Pinned columns',
96
- columnsPinnedDrop: 'Drop column here to pin',
97
+ columnsHidden: 'Hidden columns',
98
+ columnsHiddenDrop: 'Drop column here to hide',
99
+ columnsVisible: 'Visible columns',
100
+ columnsVisibleDrop: 'Drop column here to show',
101
+ noHiddenColumns: 'No hidden columns',
102
+ noVisibleColumns: 'No visible columns',
97
103
  search: 'Search column...',
98
- tooltip: 'Column settings'
104
+ tooltip: 'Column settings',
105
+ button: 'Columns'
99
106
  },
100
107
  editing: {
101
108
  button: 'Edit',
@@ -206,5 +213,5 @@ const LocalizationProvider = ({
206
213
  };
207
214
  const useLocalization = () => useContext(LocalizationContext);
208
215
 
209
- export { LocalizationContext, LocalizationProvider, defaultLocalisationTexts, useLocalization };
216
+ export { LocalizationContext, LocalizationProvider, defaultLocalisationTexts, defaultLocalizationContext, useLocalization };
210
217
  //# sourceMappingURL=Localization.js.map
@@ -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 { HeaderTexts } from '../Header/Header';\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';\nimport { DrawerTexts } from '../Drawer/Drawer';\n\nexport type LocalizationTexts = {\n /** Localized texts and aria-labels for [Banner](component:banner) component */\n banner: BannerTexts;\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 [Dialog](component:dialog) component */\n dialog: DialogTexts;\n /** Localized texts and aria-labels for [Hanger](component:hanger) component */\n hanger: HangerTexts;\n /** Localized texts and aria-labels for [Header](component:header) component */\n header: HeaderTexts;\n /** Localized texts and aria-labels for [Listbox](component:listbox) component */\n listbox: ListboxTexts;\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 [SearchInput](component:searchinput) component */\n searchInput: SearchInputTexts;\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 [Drawer](component:drawer) component */\n drawer: DrawerTexts;\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 banner: {\n close: 'Close',\n },\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 weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\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 dialog: {\n close: 'Close',\n drag: 'Drag',\n },\n hanger: {\n close: 'Close',\n },\n header: {\n addAgreement: 'Add agreement',\n logout: 'Log off',\n more: 'More',\n new: 'New',\n search: 'Search for agreement...',\n },\n listbox: {\n loading: 'Loading results...',\n empty: 'No results found',\n allOption: 'All',\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 searchInput: {\n button: 'Search',\n placeholder: 'Search...',\n clear: 'Clear',\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 drawer: {\n close: 'Close',\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","banner","close","calendar","months","weekdaysShort","weekdays","actions","previousMonth","nextMonth","previousYear","nextYear","today","combobox","tooltip","datepicker","clear","expand","shortcuts","dialog","drag","hanger","header","addAgreement","logout","more","new","search","listbox","loading","empty","allOption","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","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","searchInput","allOptionsSelected","select2","allSelect","allDeselect","cancel","chooseColor","create","delete","save","searchOrCreate","toasts","dismiss","tour","back","skip","last","next","open","drawer","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 { HeaderTexts } from '../Header/Header';\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';\nimport { DrawerTexts } from '../Drawer/Drawer';\n\nexport type LocalizationTexts = {\n /** Localized texts and aria-labels for [Banner](component:banner) component */\n banner: BannerTexts;\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 [Dialog](component:dialog) component */\n dialog: DialogTexts;\n /** Localized texts and aria-labels for [Hanger](component:hanger) component */\n hanger: HangerTexts;\n /** Localized texts and aria-labels for [Header](component:header) component */\n header: HeaderTexts;\n /** Localized texts and aria-labels for [Listbox](component:listbox) component */\n listbox: ListboxTexts;\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 [SearchInput](component:searchinput) component */\n searchInput: SearchInputTexts;\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 [Drawer](component:drawer) component */\n drawer: DrawerTexts;\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 banner: {\n close: 'Close',\n },\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 weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\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 dialog: {\n close: 'Close',\n drag: 'Drag',\n },\n hanger: {\n close: 'Close',\n },\n header: {\n addAgreement: 'Add agreement',\n logout: 'Log off',\n more: 'More',\n new: 'New',\n search: 'Search for agreement...',\n },\n listbox: {\n loading: 'Loading results...',\n empty: 'No results found',\n allOption: 'All',\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 menu: {\n freezeColumns: 'Freeze first [X] columns',\n unfreezeColumns: 'Unfreeze all columns',\n },\n },\n columnSettings: {\n columnsHidden: 'Hidden columns',\n columnsHiddenDrop: 'Drop column here to hide',\n columnsVisible: 'Visible columns',\n columnsVisibleDrop: 'Drop column here to show',\n noHiddenColumns: 'No hidden columns',\n noVisibleColumns: 'No visible columns',\n search: 'Search column...',\n tooltip: 'Column settings',\n button: 'Columns',\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 searchInput: {\n button: 'Search',\n placeholder: 'Search...',\n clear: 'Clear',\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 drawer: {\n close: 'Close',\n },\n};\n\nexport const 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","banner","close","calendar","months","weekdaysShort","weekdays","actions","previousMonth","nextMonth","previousYear","nextYear","today","combobox","tooltip","datepicker","clear","expand","shortcuts","dialog","drag","hanger","header","addAgreement","logout","more","new","search","listbox","loading","empty","allOption","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","menu","freezeColumns","unfreezeColumns","columnSettings","columnsHidden","columnsHiddenDrop","columnsVisible","columnsVisibleDrop","noHiddenColumns","noVisibleColumns","button","editing","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","searchInput","allOptionsSelected","select2","allSelect","allDeselect","cancel","chooseColor","create","delete","save","searchOrCreate","toasts","dismiss","tour","back","skip","last","next","open","drawer","defaultLocalizationContext","locale","texts","formatting","date","LocalizationContext","React","LocalizationProvider","localization","children","Provider","value","useLocalization"],"mappings":"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"}
@@ -39,6 +39,7 @@ const SearchInput = /*#__PURE__*/forwardRef(function SearchInput({
39
39
  onKeyDown: handleKeyDown,
40
40
  postfix: /*#__PURE__*/createElement(Fragment, null, props.disabled || props.readOnly || !props.value ? null : /*#__PURE__*/createElement(IconButton, {
41
41
  "aria-hidden": true,
42
+ "aria-label": texts.searchInput.clear,
42
43
  className: "group-peer-focus:visible group-peer-hover:visible !text-grey-700 invisible mr-0.5 !h-5 !min-h-[theme(spacing.4)] !w-5 !min-w-[theme(spacing.4)] text-xs hover:visible group-hover:visible",
43
44
  icon: "close",
44
45
  onClick: handleCancelClick,
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","sources":["../../../../../../../src/components/SearchInput/SearchInput.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Input, InputProps } from '../Input/Input';\nimport { useLocalization } from '../Provider/Localization';\nimport { IconButton } from '../IconButton/IconButton';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { setInputValueByRef } from '../../utils/input';\n\nexport type SearchInputTexts = {\n button: string;\n clear: string;\n placeholder: string;\n};\n\nexport type SearchInputProps = Omit<InputProps, 'button' | 'icon' | 'prefix' | 'postfix'> & {\n /** Current input value will be passed to the method. In order to get the value, the component must be controlled otherwise value will always be undefined */\n onSearch?: (value: string | number | readonly string[] | undefined) => void;\n};\n\nexport const SearchInput = React.forwardRef(function SearchInput(\n { onSearch, ...props }: SearchInputProps,\n ref: React.Ref<HTMLInputElement>\n) {\n const internalRef = useMergedRef<HTMLInputElement>(ref);\n const { texts } = useLocalization();\n\n const handleClick = (): void => {\n onSearch?.(internalRef.current?.value ?? '');\n };\n\n const handleCancelClick = (): void => {\n setInputValueByRef(internalRef.current, '');\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n props.onKeyDown?.(event);\n\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.key === 'Enter') {\n event.preventDefault();\n handleClick();\n return;\n }\n };\n\n return (\n <Input\n aria-label={texts.searchInput.placeholder}\n placeholder={texts.searchInput.placeholder}\n {...props}\n onKeyDown={handleKeyDown}\n postfix={\n <>\n {props.disabled || props.readOnly || !props.value ? null : (\n <IconButton\n aria-hidden\n className=\"group-peer-focus:visible group-peer-hover:visible !text-grey-700 invisible mr-0.5 !h-5 !min-h-[theme(spacing.4)] !w-5 !min-w-[theme(spacing.4)] text-xs hover:visible group-hover:visible\"\n icon=\"close\"\n onClick={handleCancelClick}\n rounded\n tabIndex={-1}\n tooltip={texts.searchInput.clear}\n />\n )}\n <IconButton\n aria-label={texts.searchInput.button}\n icon=\"search\"\n className=\"group-peer-focus:!border-transparent group-peer-focus:group-peer-active:!border-transparent -mr-2 !border-transparent !bg-transparent focus:!border-transparent\"\n disabled={props.disabled || props.readOnly}\n onClick={handleClick}\n tabIndex={-1}\n tooltip={texts.searchInput.button}\n />\n </>\n }\n ref={internalRef}\n type=\"search\"\n />\n );\n});\n"],"names":["SearchInput","React","onSearch","props","ref","internalRef","useMergedRef","texts","useLocalization","handleClick","current","value","handleCancelClick","setInputValueByRef","handleKeyDown","event","onKeyDown","isDefaultPrevented","key","preventDefault","Input","searchInput","placeholder","postfix","disabled","readOnly","IconButton","className","icon","onClick","rounded","tabIndex","tooltip","clear","button","type"],"mappings":";;;;;;;MAkBaA,WAAW,gBAAGC,UAAgB,CAAC,SAASD,WAAW,CAC5D;EAAEE,QAAQ;EAAE,GAAGC;CAAyB,EACxCC,GAAgC;EAEhC,MAAMC,WAAW,GAAGC,YAAY,CAAmBF,GAAG,CAAC;EACvD,MAAM;IAAEG;GAAO,GAAGC,eAAe,EAAE;EAEnC,MAAMC,WAAW,GAAG;;IAChBP,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,kDAAGG,WAAW,CAACK,OAAO,yDAAnB,qBAAqBC,KAAK,yEAAI,EAAE,CAAC;GAC/C;EAED,MAAMC,iBAAiB,GAAG;IACtBC,kBAAkB,CAACR,WAAW,CAACK,OAAO,EAAE,EAAE,CAAC;GAC9C;EAED,MAAMI,aAAa,GAAIC,KAA4C;;IAC/D,oBAAAZ,KAAK,CAACa,SAAS,qDAAf,sBAAAb,KAAK,EAAaY,KAAK,CAAC;IAExB,IAAIA,KAAK,CAACE,kBAAkB,EAAE,EAAE;MAC5B;;IAGJ,IAAIF,KAAK,CAACG,GAAG,KAAK,OAAO,EAAE;MACvBH,KAAK,CAACI,cAAc,EAAE;MACtBV,WAAW,EAAE;MACb;;GAEP;EAED,oBACIR,cAACmB,KAAK;kBACUb,KAAK,CAACc,WAAW,CAACC,WAAW;IACzCA,WAAW,EAAEf,KAAK,CAACc,WAAW,CAACC;KAC3BnB,KAAK;IACTa,SAAS,EAAEF,aAAa;IACxBS,OAAO,eACHtB,8BACKE,KAAK,CAACqB,QAAQ,IAAIrB,KAAK,CAACsB,QAAQ,IAAI,CAACtB,KAAK,CAACQ,KAAK,GAAG,IAAI,gBACpDV,cAACyB,UAAU;;MAEPC,SAAS,EAAC,2LAA2L;MACrMC,IAAI,EAAC,OAAO;MACZC,OAAO,EAAEjB,iBAAiB;MAC1BkB,OAAO;MACPC,QAAQ,EAAE,CAAC,CAAC;MACZC,OAAO,EAAEzB,KAAK,CAACc,WAAW,CAACY;MAElC,eACDhC,cAACyB,UAAU;oBACKnB,KAAK,CAACc,WAAW,CAACa,MAAM;MACpCN,IAAI,EAAC,QAAQ;MACbD,SAAS,EAAC,iKAAiK;MAC3KH,QAAQ,EAAErB,KAAK,CAACqB,QAAQ,IAAIrB,KAAK,CAACsB,QAAQ;MAC1CI,OAAO,EAAEpB,WAAW;MACpBsB,QAAQ,EAAE,CAAC,CAAC;MACZC,OAAO,EAAEzB,KAAK,CAACc,WAAW,CAACa;MAC7B,CACH;IAEP9B,GAAG,EAAEC,WAAW;IAChB8B,IAAI,EAAC;KACP;AAEV,CAAC;;;;"}
1
+ {"version":3,"file":"SearchInput.js","sources":["../../../../../../../src/components/SearchInput/SearchInput.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Input, InputProps } from '../Input/Input';\nimport { useLocalization } from '../Provider/Localization';\nimport { IconButton } from '../IconButton/IconButton';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { setInputValueByRef } from '../../utils/input';\n\nexport type SearchInputTexts = {\n button: string;\n clear: string;\n placeholder: string;\n};\n\nexport type SearchInputProps = Omit<InputProps, 'button' | 'icon' | 'prefix' | 'postfix'> & {\n /** Current input value will be passed to the method. In order to get the value, the component must be controlled otherwise value will always be undefined */\n onSearch?: (value: string | number | readonly string[] | undefined) => void;\n};\n\nexport const SearchInput = React.forwardRef(function SearchInput(\n { onSearch, ...props }: SearchInputProps,\n ref: React.Ref<HTMLInputElement>\n) {\n const internalRef = useMergedRef<HTMLInputElement>(ref);\n const { texts } = useLocalization();\n\n const handleClick = (): void => {\n onSearch?.(internalRef.current?.value ?? '');\n };\n\n const handleCancelClick = (): void => {\n setInputValueByRef(internalRef.current, '');\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n props.onKeyDown?.(event);\n\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.key === 'Enter') {\n event.preventDefault();\n handleClick();\n return;\n }\n };\n\n return (\n <Input\n aria-label={texts.searchInput.placeholder}\n placeholder={texts.searchInput.placeholder}\n {...props}\n onKeyDown={handleKeyDown}\n postfix={\n <>\n {props.disabled || props.readOnly || !props.value ? null : (\n <IconButton\n aria-hidden\n aria-label={texts.searchInput.clear}\n className=\"group-peer-focus:visible group-peer-hover:visible !text-grey-700 invisible mr-0.5 !h-5 !min-h-[theme(spacing.4)] !w-5 !min-w-[theme(spacing.4)] text-xs hover:visible group-hover:visible\"\n icon=\"close\"\n onClick={handleCancelClick}\n rounded\n tabIndex={-1}\n tooltip={texts.searchInput.clear}\n />\n )}\n <IconButton\n aria-label={texts.searchInput.button}\n icon=\"search\"\n className=\"group-peer-focus:!border-transparent group-peer-focus:group-peer-active:!border-transparent -mr-2 !border-transparent !bg-transparent focus:!border-transparent\"\n disabled={props.disabled || props.readOnly}\n onClick={handleClick}\n tabIndex={-1}\n tooltip={texts.searchInput.button}\n />\n </>\n }\n ref={internalRef}\n type=\"search\"\n />\n );\n});\n"],"names":["SearchInput","React","onSearch","props","ref","internalRef","useMergedRef","texts","useLocalization","handleClick","current","value","handleCancelClick","setInputValueByRef","handleKeyDown","event","onKeyDown","isDefaultPrevented","key","preventDefault","Input","searchInput","placeholder","postfix","disabled","readOnly","IconButton","clear","className","icon","onClick","rounded","tabIndex","tooltip","button","type"],"mappings":";;;;;;;MAkBaA,WAAW,gBAAGC,UAAgB,CAAC,SAASD,WAAW,CAC5D;EAAEE,QAAQ;EAAE,GAAGC;CAAyB,EACxCC,GAAgC;EAEhC,MAAMC,WAAW,GAAGC,YAAY,CAAmBF,GAAG,CAAC;EACvD,MAAM;IAAEG;GAAO,GAAGC,eAAe,EAAE;EAEnC,MAAMC,WAAW,GAAG;;IAChBP,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,kDAAGG,WAAW,CAACK,OAAO,yDAAnB,qBAAqBC,KAAK,yEAAI,EAAE,CAAC;GAC/C;EAED,MAAMC,iBAAiB,GAAG;IACtBC,kBAAkB,CAACR,WAAW,CAACK,OAAO,EAAE,EAAE,CAAC;GAC9C;EAED,MAAMI,aAAa,GAAIC,KAA4C;;IAC/D,oBAAAZ,KAAK,CAACa,SAAS,qDAAf,sBAAAb,KAAK,EAAaY,KAAK,CAAC;IAExB,IAAIA,KAAK,CAACE,kBAAkB,EAAE,EAAE;MAC5B;;IAGJ,IAAIF,KAAK,CAACG,GAAG,KAAK,OAAO,EAAE;MACvBH,KAAK,CAACI,cAAc,EAAE;MACtBV,WAAW,EAAE;MACb;;GAEP;EAED,oBACIR,cAACmB,KAAK;kBACUb,KAAK,CAACc,WAAW,CAACC,WAAW;IACzCA,WAAW,EAAEf,KAAK,CAACc,WAAW,CAACC;KAC3BnB,KAAK;IACTa,SAAS,EAAEF,aAAa;IACxBS,OAAO,eACHtB,8BACKE,KAAK,CAACqB,QAAQ,IAAIrB,KAAK,CAACsB,QAAQ,IAAI,CAACtB,KAAK,CAACQ,KAAK,GAAG,IAAI,gBACpDV,cAACyB,UAAU;;oBAEKnB,KAAK,CAACc,WAAW,CAACM,KAAK;MACnCC,SAAS,EAAC,2LAA2L;MACrMC,IAAI,EAAC,OAAO;MACZC,OAAO,EAAElB,iBAAiB;MAC1BmB,OAAO;MACPC,QAAQ,EAAE,CAAC,CAAC;MACZC,OAAO,EAAE1B,KAAK,CAACc,WAAW,CAACM;MAElC,eACD1B,cAACyB,UAAU;oBACKnB,KAAK,CAACc,WAAW,CAACa,MAAM;MACpCL,IAAI,EAAC,QAAQ;MACbD,SAAS,EAAC,iKAAiK;MAC3KJ,QAAQ,EAAErB,KAAK,CAACqB,QAAQ,IAAIrB,KAAK,CAACsB,QAAQ;MAC1CK,OAAO,EAAErB,WAAW;MACpBuB,QAAQ,EAAE,CAAC,CAAC;MACZC,OAAO,EAAE1B,KAAK,CAACc,WAAW,CAACa;MAC7B,CACH;IAEP9B,GAAG,EAAEC,WAAW;IAChB8B,IAAI,EAAC;KACP;AAEV,CAAC;;;;"}
@@ -5,8 +5,9 @@ const Collection = props => {
5
5
  const {
6
6
  children
7
7
  } = props;
8
+ // max-h-[11.5rem] = is 5.5 options + spacing between them. Option height is 2rem, spacing 0.125. In total it's 11.5.
8
9
  return /*#__PURE__*/React__default.createElement(ScrollArea, {
9
- className: "flex max-h-[10.3rem] w-full flex-col gap-y-0.5 px-1.5"
10
+ className: "flex max-h-[11.5rem] w-full flex-col gap-y-0.5 px-1.5"
10
11
  }, children);
11
12
  };
12
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"Collection.js","sources":["../../../../../../../../src/components/Select2/components/Collection.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { Select2GroupProps } from './Group';\nimport { Select2OptionProps } from './Option';\n\nexport type Select2CollectionProps = {\n children: Array<React.ReactElement<Select2OptionProps> | React.ReactElement<Select2GroupProps>>;\n};\n\nexport const Collection = (props: Select2CollectionProps) => {\n const { children } = props;\n\n return <ScrollArea className=\"flex max-h-[10.3rem] w-full flex-col gap-y-0.5 px-1.5\">{children}</ScrollArea>;\n};\n"],"names":["Collection","props","children","React","ScrollArea","className"],"mappings":";;;MASaA,UAAU,GAAIC,KAA6B;EACpD,MAAM;IAAEC;GAAU,GAAGD,KAAK;EAE1B,oBAAOE,6BAACC,UAAU;IAACC,SAAS,EAAC;KAAyDH,QAAQ,CAAc;AAChH;;;;"}
1
+ {"version":3,"file":"Collection.js","sources":["../../../../../../../../src/components/Select2/components/Collection.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollArea } from '../../ScrollArea/ScrollArea';\nimport { Select2GroupProps } from './Group';\nimport { Select2OptionProps } from './Option';\n\nexport type Select2CollectionProps = {\n children: Array<React.ReactElement<Select2OptionProps> | React.ReactElement<Select2GroupProps>>;\n};\n\nexport const Collection = (props: Select2CollectionProps) => {\n const { children } = props;\n\n // max-h-[11.5rem] = is 5.5 options + spacing between them. Option height is 2rem, spacing 0.125. In total it's 11.5.\n return <ScrollArea className=\"flex max-h-[11.5rem] w-full flex-col gap-y-0.5 px-1.5\">{children}</ScrollArea>;\n};\n"],"names":["Collection","props","children","React","ScrollArea","className"],"mappings":";;;MASaA,UAAU,GAAIC,KAA6B;EACpD,MAAM;IAAEC;GAAU,GAAGD,KAAK;;EAG1B,oBAAOE,6BAACC,UAAU;IAACC,SAAS,EAAC;KAAyDH,QAAQ,CAAc;AAChH;;;;"}
@@ -2,7 +2,7 @@ import React__default from 'react';
2
2
  import cn from 'classnames';
3
3
  import { useMergedRef } from '../../hooks/useMergedRef.js';
4
4
  import { Group } from '../Group/Group.js';
5
- import { _finallyRethrows } from '../../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js';
5
+ import { _finallyRethrows, _catch } from '../../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js';
6
6
  import { Cell } from './components/column/Cell.js';
7
7
  import { Header } from './components/column/Header.js';
8
8
  import { Footer } from './components/column/Footer.js';
@@ -37,6 +37,7 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
37
37
  } = props;
38
38
  const tableRef = useMergedRef(ref);
39
39
  const timeoutIdRef = React__default.useRef();
40
+ const prevScrollY = React__default.useRef(0);
40
41
  // react-table
41
42
  const {
42
43
  rows,
@@ -207,15 +208,26 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
207
208
  } else {
208
209
  const _temp3 = function () {
209
210
  if (typeof loadMore === 'function') {
211
+ const scrollY = event.currentTarget.scrollTop;
212
+ const isVerticalScrolling = scrollY !== prevScrollY.current;
213
+ prevScrollY.current = scrollY;
210
214
  const _temp2 = function () {
211
- if (event.currentTarget.scrollHeight - event.currentTarget.scrollTop - event.currentTarget.clientHeight < 600 && !loadingRef.current) {
215
+ if (
216
+ // This condition will also prevent triggering of loadMore function when scrolled upwards
217
+ event.currentTarget.scrollHeight - event.currentTarget.scrollTop - event.currentTarget.clientHeight < 600 && !loadingRef.current &&
218
+ // We don't want to trigger loadMore function on horizontal scrolling
219
+ isVerticalScrolling) {
212
220
  const _temp = _finallyRethrows(function () {
213
- const isAllRowsSelected = table.getIsAllRowsSelected();
214
- loadingRef.current = true;
215
- return Promise.resolve(loadMore()).then(function () {
216
- if (isAllRowsSelected) {
217
- table.toggleAllRowsSelected(true);
218
- }
221
+ return _catch(function () {
222
+ const isAllRowsSelected = table.getIsAllRowsSelected();
223
+ loadingRef.current = true;
224
+ return Promise.resolve(loadMore()).then(function () {
225
+ if (isAllRowsSelected) {
226
+ table.toggleAllRowsSelected(true);
227
+ }
228
+ });
229
+ }, function (error) {
230
+ console.error(error);
219
231
  });
220
232
  }, function (_wasThrown, _result) {
221
233
  loadingRef.current = false;
@@ -245,7 +257,7 @@ const Table2 = /*#__PURE__*/React__default.forwardRef(function Table2(props, ref
245
257
  handleMouseLeave = () => meta.setShouldPauseHoverState(false);
246
258
  }
247
259
  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);
248
- const enableSettingsButton = table.options.enablePinning || table.options.enableHiding || meta.enableColumnReordering;
260
+ const enableSettingsButton = table.options.enableHiding || meta.enableColumnReordering;
249
261
  const hasInternalToolbar = enableSettingsButton || meta.editMode.enableEditMode || table.options.enableColumnFilters || meta.enableRowDensity || table.options.enableGlobalFilter;
250
262
  const hasToolbar = hasInternalToolbar || !!toolbarLeft || !toolbarRight;
251
263
  const hasFooters = React__default.useMemo(() => {
@@ -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 } 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":";;;;;;;;;;;;;;;;;;;;AA4GA,SAASA,MAAM,CAAcC,CAA2B;EACpD,OAAO,IAAI;AACf;AACAD,MAAM,CAACE,WAAW,GAAG,cAAc;MAM7BC,MAAM,gBAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,MAAM,CAAcG,KAAyB,EAAEC,GAA8B;;EAElH,MAAM;IACFC,UAAU,EAAEC,UAAU;IACtBC,mBAAmB;IACnBC,MAAM,GAAGL,KAAK,CAACM,IAAI,CAACD,MAAM;IAC1BE,QAAQ;IACRC,UAAU;IACVC,WAAW;IACXC,YAAY;IACZC,4BAA4B;IAC5BC;GACH,GAAGZ,KAAK;EACT,MAAMa,QAAQ,GAAGC,YAAY,CAAiBb,GAAG,CAAC;EAClD,MAAMc,YAAY,GAAGjB,cAAK,CAACkB,MAAM,EAAkB;;EAGnD,MAAM;IAAEC,IAAI;IAAEC,KAAK;IAAEC;GAAS,GAAGC,QAAQ,CAACpB,KAAK,CAACqB,QAAQ,EAAErB,KAAK,EAAEa,QAAQ,CAAC;EAC1E,MAAMS,IAAI,GAAGJ,KAAK,CAACK,OAAO,CAACD,IAAwB;EAEnD,MAAM;IAAEE,gBAAgB;IAAEC,WAAW;IAAEC;GAAc,GAAGR,KAAK,CAACS,QAAQ,EAAE;;;;EAKxE7B,cAAK,CAAC8B,SAAS,CAAC;IACZN,IAAI,CAACO,4BAA4B,EAAE;GACtC,EAAE,CAACL,gBAAgB,EAAEC,WAAW,CAAC,CAAC;EAEnC3B,cAAK,CAAC8B,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;EAE7BjC,cAAK,CAAC8B,SAAS,CAAC;IACZ,OAAO,MAAMI,YAAY,CAACjB,YAAY,CAACkB,OAAO,CAAC;GAClD,EAAE,EAAE,CAAC;;EAGN,MAAM;IAAEC,WAAW;IAAEC,kBAAkB;IAAEC;GAAqB,GAAGC,cAAc,CAAC;IAAEpB,IAAI;IAAEC;GAAO,EAAEL,QAAQ,CAAC;;EAG1G,MAAMyB,mBAAmB,GAAGC,eAAe,CAACrB,KAAK,CAAC;;EAGlD,MAAMsB,aAAa,GAAG1C,cAAK,CAACkB,MAAM,CAAC,IAAI,CAAC;;EAGxC,MAAMyB,aAAa,GAAIC,KAA0B;IAC7C,IAAIC,QAAQ,CAACC,aAAa,KAAK/B,QAAQ,CAACoB,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,CAAClC,IAAI,EAAEmC,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,CAAChC,IAAI,CAACZ,MAAM,GAAG,CAAC,CAAC;UACvC6B,WAAW,CAACgB,cAAc,CAAChB,WAAW,CAACqB,SAAS,GAAG,CAAC,CAAC;SACxD,MAAM;UACHjC,IAAI,CAACkC,aAAa,CAACvC,IAAI,EAAEmC,SAAS;YAC9B9B,IAAI,CAAC+B,wBAAwB,CAAC,IAAI,CAAC;;YAGnC,IAAID,SAAS,KAAKnC,IAAI,CAACZ,MAAM,GAAG,CAAC,EAAE;cAAA;cAC/B,qBAAAQ,QAAQ,CAACoB,OAAO,sDAAhB,kBAAkBwB,QAAQ,CAAC,CAAC,EAAE5C,QAAQ,CAACoB,OAAO,CAACyB,YAAY,CAAC;aAC/D,MAAM;cACHxB,WAAW,CAACoB,aAAa,CAACF,SAAS,GAAG,CAAC,CAAC;;WAE/C,CAAC;;QAGN;;MAGJ,MAAMO,qBAAqB,GAAGzC,KAAK,CAACK,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,yBAAA1C,IAAI,CAACK,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,0BAAA1C,IAAI,CAACK,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,IAAItC,UAAU,EAAE;UACZA,UAAU,CAACS,IAAI,CAACK,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,IAAI5B,KAAK,CAACK,OAAO,CAACyC,kBAAkB,EAAE;UAAA;UAClC,0BAAA/C,IAAI,CAACK,IAAI,CAACuC,cAAc,CAAC,2DAAzB,uBAA2BI,cAAc,EAAE;;QAG/C;;MAGJ,IAAIvB,KAAK,CAACK,OAAO,IAAIL,KAAK,CAACM,OAAO,EAAE;QAChC,IAAIN,KAAK,CAACG,GAAG,KAAK,GAAG,IAAI3B,KAAK,CAACK,OAAO,CAACyC,kBAAkB,EAAE;UACvDtB,KAAK,CAACI,cAAc,EAAE;UACtB5B,KAAK,CAACgD,qBAAqB,EAAE;;QAGjC;;;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;;;;;QAKtGlB,YAAY,CAACkB,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,GAAGtF,cAAK,CAACuF,QAAQ,CAAC,KAAK,CAAC;;EAGrD,MAAMC,UAAU,GAAGxF,cAAK,CAACkB,MAAM,CAAC,KAAK,CAAC;EAEtC,MAAMuE,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,OAAO7E,QAAQ,KAAK,UAAU;kBAAA;oBAAA,IAEjCmC,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,GAAGzE,KAAK,CAAC0E,oBAAoB,EAAE;wBACtDN,UAAU,CAACrD,OAAO,GAAG,IAAI;wBAAC,uBACpB1B,QAAQ,EAAE;0BAAA,IAEZoF,iBAAiB;4BACjBzE,KAAK,CAACgD,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,MAAM0C,SAAS,GAAGC,EAAE,CAChB,8HAA8H,EAC9HhG,KAAK,CAAC+F,SAAS,CAClB;EAED,MAAME,oBAAoB,GAAG/E,KAAK,CAACK,OAAO,CAAC2E,aAAa,IAAIhF,KAAK,CAACK,OAAO,CAAC4E,YAAY,IAAI7E,IAAI,CAAC8E,sBAAsB;EACrH,MAAMC,kBAAkB,GACpBJ,oBAAoB,IACpB3E,IAAI,CAACQ,QAAQ,CAACwE,cAAc,IAC5BpF,KAAK,CAACK,OAAO,CAACgF,mBAAmB,IACjCjF,IAAI,CAACkF,gBAAgB,IACrBtF,KAAK,CAACK,OAAO,CAACkF,kBAAkB;EACpC,MAAMC,UAAU,GAAGL,kBAAkB,IAAI,CAAC,CAAC5F,WAAW,IAAI,CAACC,YAAY;EAEvE,MAAMiG,UAAU,GAAG7G,cAAK,CAAC8G,OAAO,CAAC;IAC7B,MAAMC,UAAU,GAAGC,MAAM,CAACC,IAAI,CAAC5F,OAAO,CAAC;IACvC,MAAM6F,UAAU,GAAGF,MAAM,CAACC,IAAI,CAACvF,gBAAgB,CAAC,CAACyF,MAAM,CAACC,CAAC,IAAI,CAAC1F,gBAAgB,CAAC0F,CAAC,CAAC,CAAC;IAClF,OAAOL,UAAU,CAACxG,MAAM,IAAIwG,UAAU,CAACM,IAAI,CAACC,CAAC,IAAI,CAACJ,UAAU,CAACK,QAAQ,CAACD,CAAC,CAAC,CAAC;GAC5E,EAAE,CAACjG,OAAO,EAAEK,gBAAgB,CAAC,CAAC;EAE/B,oBACI1B;IAAKiG,SAAS,EAAC;KACVW,UAAU,gBACP5G;IAAKiG,SAAS,EAAC;KACVtF,WAAW,EACX4F,kBAAkB,gBACfvG,6BAACwH,KAAK;IAACvB,SAAS,EAAC;KACZzE,IAAI,CAACQ,QAAQ,CAACwE,cAAc,gBACzBxG,6BAACyH,cAAc;IACXtH,GAAG,EAAEuC,aAAa;IAClBtB,KAAK,EAAEA,KAAK;IACZL,QAAQ,EAAEA,QAAQ;IAClByC,aAAa,EAAEpB,WAAW,CAACoB;IAC7B,GACF,IAAI,EACPpC,KAAK,CAACK,OAAO,CAACgF,mBAAmB,gBAAGzG,6BAAC0H,aAAa;IAACnH,MAAM,EAAEA,MAAM;IAAEa,KAAK,EAAEA;IAAS,GAAG,IAAI,EAC1FR,YAAY,EACZY,IAAI,CAACkF,gBAAgB,gBAAG1G,6BAAC2H,gBAAgB;IAACvG,KAAK,EAAEA;IAAS,GAAG,IAAI,EACjE+E,oBAAoB,gBAAGnG,6BAAC4H,oBAAoB;IAACxG,KAAK,EAAEA;IAAS,GAAG,IAAI,EACpEA,KAAK,CAACK,OAAO,CAACkF,kBAAkB,gBAC7B3G,6BAAC6H,MAAM;IACHC,QAAQ,EAAEtG,IAAI,CAACuG,yBAAyB;IACxCC,QAAQ,EAAE5G,KAAK,CAAC6G,eAAe;IAC/BC,KAAK,EAAEtG;IACT,GACF,IAAI,CACJ,GACR,IAAI,CAEN,GACN,IAAI,eACR5B;IACIiG,SAAS,EAAEA,SAAS;iBACV,QAAQ;IAClBkC,MAAM,EAAE9D,UAAU;IAClB+D,SAAS,EAAEzF,aAAa;IACxB0F,YAAY,EAAEtC,gBAAgB;IAC9BuC,QAAQ,EAAE7C,YAAY;IACtBtF,GAAG,EAAEY,QAAQ;IACbwH,IAAI,EAAC,OAAO;IACZC,KAAK,EAAE;MACHhG,mBAAmB;MACnBiG,gBAAgB,EAAEtH,IAAI,CAACZ,MAAM,GAAGiE,SAAS,GAAG,MAAM;;;MAGlDkE,OAAO,EAAE;KACZ;IACDC,QAAQ,EAAE;kBACV3I;IAAKiG,SAAS,EAAC,UAAU;iBAAW,eAAe;IAACsC,IAAI,EAAC;KACpDnH,KAAK,CAACwH,eAAe,EAAE,CAACC,GAAG,CAACC,WAAW,iBACpC9I;IAAKiG,SAAS,EAAC,UAAU;IAAClD,GAAG,EAAE+F,WAAW,CAACnE,EAAE;IAAE4D,IAAI,EAAC;KAC/CO,WAAW,CAACC,OAAO,CAACF,GAAG,CAAC,CAACG,MAAM,EAAEC,WAAW,kBACzCjJ,6BAACkJ,MAAM;IACHnG,GAAG,EAAEiG,MAAM,CAACrE,EAAE;IACdqE,MAAM,EAAEA,MAAM;IACdG,KAAK,EAAEF,WAAW;IAClBG,YAAY,EAAEH,WAAW,KAAKH,WAAW,CAACC,OAAO,CAACxI,MAAM,GAAG,CAAC;IAC5D8E,QAAQ,EAAEA,QAAQ;IAClBjE,KAAK,EAAEA,KAAK;IACZL,QAAQ,EAAEA;IAEjB,CAAC,CAET,CAAC,CACA,EACLI,IAAI,CAACZ,MAAM,gBACRP;IAAKiG,SAAS,EAAC,UAAU;iBAAW,aAAa;IAACsC,IAAI,EAAC;KAClDlG,kBAAkB,CAACgH,GAAG,gBACnBrJ;IAAKwI,KAAK,EAAE;MAAEc,MAAM,EAAEjH,kBAAkB,CAACgH;KAAK;IAAEpD,SAAS,EAAC;IAAkB,GAC5E,IAAI,EACP7D,WAAW,CAACmH,YAAY,CAACV,GAAG,CAACW,UAAU;;IACpC,MAAMC,GAAG,GAAGtI,IAAI,CAACqI,UAAU,CAACL,KAAK,CAAC;IAElC,oBACInJ,6BAACA,cAAK,CAAC0J,QAAQ;MAAC3G,GAAG,EAAE0G,GAAG,CAAC9E;oBACrB3E,6BAAC2J,GAAG;MAAC1D,SAAS,EAAC,oBAAoB;MAACwD,GAAG,EAAEA,GAAG;MAAEG,QAAQ,EAAEJ,UAAU,CAACL,KAAK;MAAE/H,KAAK,EAAEA;OAC5EqI,GAAG,CAACI,eAAe,EAAE,CAAChB,GAAG,CAAC,CAACiB,IAAI,EAAEb,WAAW,kBACzCjJ,6BAAC+J,IAAI;MACDD,IAAI,EAAEA,IAAI;MACV/G,GAAG,KAAK+G,IAAI,CAACnF,MAAMmF,IAAI,CAACE,QAAQ,IAAI;MACpCb,KAAK,EAAEF,WAAW;MAClBgB,SAAS,EAAET,UAAU,CAACL,KAAK,KAAKhI,IAAI,CAACZ,MAAM,GAAG,CAAC;MAC/CY,IAAI,EAAEA,IAAI;MACVyI,QAAQ,EAAEJ,UAAU,CAACL,KAAK;MAC1B9D,QAAQ,EAAEA,QAAQ;MAClB7B,aAAa,EAAEpB,WAAW,CAACoB,aAAa;MACxCJ,cAAc,EAAEhB,WAAW,CAACgB,cAAc;MAC1ChC,KAAK,EAAEA,KAAK;MACZL,QAAQ,EAAEA;MAEjB,CAAC,CACA,EACL0I,GAAG,CAACS,aAAa,EAAE,IAAI5J,mBAAmB,gBACvCN,6BAACmK,WAAW;MAAChB,KAAK,EAAEK,UAAU,CAACL,KAAK;MAAEiB,OAAO,EAAE9H;+BAC1ChC,mBAAmB,CAACmJ,GAAG,CAACxF,QAAQ,CAAC,yDAAjC,sBAAqC,CAC5B,GACd,IAAI,CACK;GAExB,CAAC,EACD5B,kBAAkB,CAACgI,MAAM,gBACtBrK;IAAKwI,KAAK,EAAE;MAAEc,MAAM,EAAEjH,kBAAkB,CAACgI;KAAQ;IAAEpE,SAAS,EAAC;IAAkB,GAC/E,IAAI,CACN,gBAENjG;IAAKiG,SAAS,EAAC;KAA0C5F,UAAU,gBAAGL,6BAACK,UAAU,OAAG,GAAG,IAAI,CAC9F,EACAwG,UAAU,gBACP7G;IAAKuI,IAAI,EAAC,UAAU;IAACtC,SAAS,EAAC,UAAU;iBAAW;KAC/C7E,KAAK,CAACkJ,eAAe,EAAE,CAACzB,GAAG,CAAC0B,WAAW,iBACpCvK;IAAK+C,GAAG,EAAEwH,WAAW,CAAC5F,EAAE;IAAE4D,IAAI,EAAC,KAAK;IAACtC,SAAS,EAAC;KAC1CsE,WAAW,CAACxB,OAAO,CAACF,GAAG,CAAC,CAAC2B,MAAM,EAAEC,SAAS,kBACvCzK,6BAAC0K,MAAM;IAAC3H,GAAG,EAAEyH,MAAM,CAAC7F,EAAE;IAAE6F,MAAM,EAAEA,MAAM;IAAErB,KAAK,EAAEsB,SAAS;IAAEpF,QAAQ,EAAEA,QAAQ;IAAEjE,KAAK,EAAEA;KAChFC,OAAO,CAACmJ,MAAM,CAAC7F,EAAE,CAAC,GACbtD,OAAO,CAACmJ,MAAM,CAAC7F,EAAE,CAAC,CAACxD,IAAI,CAAC0H,GAAG,CAAEY,GAAgB,IAAKA,GAAG,CAACxF,QAAQ,CAACuG,MAAM,CAAC7F,EAAE,CAAC,CAAC,CAAC,GAC3E,IAAI,CAEjB,CAAC,CAET,CAAC,CACA,GACN,IAAI,CACN,EACL,CAAC,CAAC9D,4BAA4B,IAC/BO,KAAK,CAACK,OAAO,CAACyC,kBAAkB,KAC/B9C,KAAK,CAACuJ,qBAAqB,EAAE,IAAIvJ,KAAK,CAAC0E,oBAAoB,EAAE,CAAC,gBAC3D9F,6BAAC4K,gBAAgB;IACb3E,SAAS,EAAC,gDAAgD;IAC1D4E,eAAe,EAAEhK,4BAA4B;IAC7CiK,OAAO,EAAEhK,mCAAmC;IAC5CM,KAAK,EAAEA;IACT,GACF,IAAI,CACN;AAEd,CAAC;AAEDrB,MAAM,CAACH,MAAM,GAAGA,MAAM;;;;"}
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 menu: {\n freezeColumns: string;\n unfreezeColumns: string;\n };\n };\n columnSettings: {\n columnsHidden: string;\n columnsHiddenDrop: string;\n columnsVisible: string;\n columnsVisibleDrop: string;\n noHiddenColumns: string;\n noVisibleColumns: string;\n search: string;\n tooltip: string;\n button: 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 const prevScrollY = React.useRef<number>(0);\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 const scrollY = event.currentTarget.scrollTop;\n const isVerticalScrolling = scrollY !== prevScrollY.current;\n\n prevScrollY.current = scrollY;\n\n if (\n // This condition will also prevent triggering of loadMore function when scrolled upwards\n event.currentTarget.scrollHeight - event.currentTarget.scrollTop - event.currentTarget.clientHeight < 600 &&\n !loadingRef.current &&\n // We don't want to trigger loadMore function on horizontal scrolling\n isVerticalScrolling\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 } catch (error) {\n console.error(error);\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.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","prevScrollY","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","scrollY","scrollTop","isVerticalScrolling","clientHeight","isAllRowsSelected","getIsAllRowsSelected","error","console","handleMouseLeave","shouldPauseHoverState","className","cn","enableSettingsButton","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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"}