@economic/taco 2.8.0 → 2.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. package/dist/components/Icon/components/Lock.d.ts +3 -0
  2. package/dist/components/Icon/components/index.d.ts +1 -1
  3. package/dist/components/Input/Input.d.ts +1 -1
  4. package/dist/components/Menu/Menu.d.ts +2 -1
  5. package/dist/components/Menu/components/Content.d.ts +1 -1
  6. package/dist/components/Menu/components/Item.d.ts +1 -1
  7. package/dist/components/Menu/components/Link.d.ts +1 -1
  8. package/dist/components/Menu/components/Separator.d.ts +4 -2
  9. package/dist/components/Menu/components/SubMenu.d.ts +1 -1
  10. package/dist/components/Navigation2/components/Link.d.ts +1 -1
  11. package/dist/components/Select2/components/Option.d.ts +1 -1
  12. package/dist/components/Select2/components/Search.d.ts +1 -1
  13. package/dist/components/Table3/components/columns/styles.d.ts +1 -0
  14. package/dist/components/Table3/components/toolbar/ColumnSettings.d.ts +3 -2
  15. package/dist/components/Table3/components/toolbar/Filter/filters/Filters.d.ts +1 -1
  16. package/dist/components/Table3/components/toolbar/PrintButton/WarningDialog.d.ts +2 -1
  17. package/dist/components/Table3/components/toolbar/Settings.d.ts +6 -0
  18. package/dist/components/Table3/hooks/features/useCurrentRow.d.ts +3 -3
  19. package/dist/components/Table3/hooks/useCssGrid.d.ts +1 -1
  20. package/dist/components/Tag/Tag.d.ts +1 -1
  21. package/dist/esm/packages/taco/src/components/Combobox/Combobox.js +1 -8
  22. package/dist/esm/packages/taco/src/components/Combobox/Combobox.js.map +1 -1
  23. package/dist/esm/packages/taco/src/components/Header/components/Agreement/Display.js +1 -1
  24. package/dist/esm/packages/taco/src/components/Icon/components/Lock.js +19 -0
  25. package/dist/esm/packages/taco/src/components/Icon/components/Lock.js.map +1 -0
  26. package/dist/esm/packages/taco/src/components/Icon/components/index.js +2 -0
  27. package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
  28. package/dist/esm/packages/taco/src/components/Layout/components/Sidebar.js +1 -1
  29. package/dist/esm/packages/taco/src/components/Menu/Menu.js.map +1 -1
  30. package/dist/esm/packages/taco/src/components/Menu/components/Separator.js +7 -6
  31. package/dist/esm/packages/taco/src/components/Menu/components/Separator.js.map +1 -1
  32. package/dist/esm/packages/taco/src/components/Provider/Localization.js +3 -3
  33. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  34. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +1 -1
  35. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -1
  36. package/dist/esm/packages/taco/src/components/Table/hooks/useTableKeyboardNavigation.js +2 -2
  37. package/dist/esm/packages/taco/src/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
  38. package/dist/esm/packages/taco/src/components/Table3/Table3.js +9 -4
  39. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  40. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js +3 -2
  41. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js.map +1 -1
  42. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +3 -2
  43. package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -1
  44. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js +2 -1
  45. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -1
  46. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +34 -35
  47. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -1
  48. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +19 -7
  49. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -1
  50. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +66 -18
  51. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -1
  52. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +12 -8
  53. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -1
  54. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/WarningDialog.js +5 -1
  55. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/WarningDialog.js.map +1 -1
  56. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +2 -2
  57. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -1
  58. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js +61 -0
  59. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js.map +1 -0
  60. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js +8 -35
  61. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js.map +1 -1
  62. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js +3 -2
  63. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js.map +1 -1
  64. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js +1 -1
  65. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js.map +1 -1
  66. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js +1 -1
  67. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js.map +1 -1
  68. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js +5 -2
  69. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js.map +1 -1
  70. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js +2 -1
  71. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js.map +1 -1
  72. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js +8 -4
  73. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js.map +1 -1
  74. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js +1 -1
  75. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js.map +1 -1
  76. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js +7 -3
  77. package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js.map +1 -1
  78. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +9 -4
  79. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -1
  80. package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js +10 -12
  81. package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js.map +1 -1
  82. package/dist/esm/packages/taco/src/index.js +2 -2
  83. package/dist/taco.cjs.development.js +377 -247
  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 +14 -14
  88. package/types.json +14107 -11816
@@ -1 +1 @@
1
- {"version":3,"file":"WarningDialog.js","sources":["../../../../../../../../../../src/components/Table3/components/toolbar/PrintButton/WarningDialog.tsx"],"sourcesContent":["import React from 'react';\n\nimport { BadgeIcon } from '../../../../BadgeIcon/BadgeIcon';\nimport { Button } from '../../../../Button/Button';\nimport { Checkbox } from '../../../../Checkbox/Checkbox';\nimport { Dialog, DialogProps } from '../../../../Dialog/Dialog';\nimport { Group } from '../../../../Group/Group';\nimport { useLocalization } from '../../../../Provider/Localization';\n\nexport type WarningDialogProps = Omit<DialogProps, 'children' | 'onClose'> & {\n onAccept: () => void;\n onClose: () => void;\n onVisibilityChange: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\nexport const WarningDialog = ({ onAccept, onClose, onVisibilityChange, ...props }: WarningDialogProps) => {\n const [hideWarningDialog, setHideWarningDialog] = React.useState(false);\n const { texts } = useLocalization();\n const handleClose = () => {\n onClose();\n // Change visibility state when the dialog is closing\n onVisibilityChange?.(!hideWarningDialog);\n };\n\n return (\n <Dialog {...props} closeOnEscape={true} onClose={handleClose} showCloseButton={false} size=\"xs\">\n <Dialog.Content aria-label={texts.table3.print.warningDialog.title}>\n <Dialog.Title className=\"text-center\">\n <BadgeIcon icon=\"warning\" color=\"yellow\" className=\"mr-2\" />\n {texts.table3.print.warningDialog.title}\n </Dialog.Title>\n <p>{texts.table3.print.warningDialog.description}</p>\n <Dialog.Footer className=\"flex items-center justify-between\">\n <Checkbox\n label={texts.table3.print.warningDialog.checkboxVisibilityLabel}\n checked={hideWarningDialog}\n onChange={setHideWarningDialog}\n />\n <Group>\n <Button onClick={handleClose}>{texts.table3.print.warningDialog.cancelButtonText}</Button>\n <Button\n appearance=\"primary\"\n autoFocus\n onClick={() => {\n handleClose();\n onAccept();\n }}>\n {texts.table3.print.warningDialog.printButtonText}\n </Button>\n </Group>\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog>\n );\n};\n"],"names":["WarningDialog","onAccept","onClose","onVisibilityChange","props","hideWarningDialog","setHideWarningDialog","React","useState","texts","useLocalization","handleClose","Dialog","closeOnEscape","showCloseButton","size","Content","table3","print","warningDialog","title","Title","className","BadgeIcon","icon","color","description","Footer","Checkbox","label","checkboxVisibilityLabel","checked","onChange","Group","Button","onClick","cancelButtonText","appearance","autoFocus","printButtonText"],"mappings":";;;;;;;;MAeaA,aAAa,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,kBAAkB;EAAE,GAAGC;CAA2B;EACjG,MAAM,CAACC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EACvE,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,WAAW,GAAGA;IAChBT,OAAO,EAAE;;IAETC,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAG,CAACE,iBAAiB,CAAC;GAC3C;EAED,oBACIE,6BAACK,MAAM,oBAAKR,KAAK;IAAES,aAAa,EAAE,IAAI;IAAEX,OAAO,EAAES,WAAW;IAAEG,eAAe,EAAE,KAAK;IAAEC,IAAI,EAAC;mBACvFR,6BAACK,MAAM,CAACI,OAAO;kBAAaP,KAAK,CAACQ,MAAM,CAACC,KAAK,CAACC,aAAa,CAACC;kBACzDb,6BAACK,MAAM,CAACS,KAAK;IAACC,SAAS,EAAC;kBACpBf,6BAACgB,SAAS;IAACC,IAAI,EAAC,SAAS;IAACC,KAAK,EAAC,QAAQ;IAACH,SAAS,EAAC;IAAS,EAC3Db,KAAK,CAACQ,MAAM,CAACC,KAAK,CAACC,aAAa,CAACC,KAAK,CAC5B,eACfb,wCAAIE,KAAK,CAACQ,MAAM,CAACC,KAAK,CAACC,aAAa,CAACO,WAAW,CAAK,eACrDnB,6BAACK,MAAM,CAACe,MAAM;IAACL,SAAS,EAAC;kBACrBf,6BAACqB,QAAQ;IACLC,KAAK,EAAEpB,KAAK,CAACQ,MAAM,CAACC,KAAK,CAACC,aAAa,CAACW,uBAAuB;IAC/DC,OAAO,EAAE1B,iBAAiB;IAC1B2B,QAAQ,EAAE1B;IACZ,eACFC,6BAAC0B,KAAK,qBACF1B,6BAAC2B,MAAM;IAACC,OAAO,EAAExB;KAAcF,KAAK,CAACQ,MAAM,CAACC,KAAK,CAACC,aAAa,CAACiB,gBAAgB,CAAU,eAC1F7B,6BAAC2B,MAAM;IACHG,UAAU,EAAC,SAAS;IACpBC,SAAS;IACTH,OAAO,EAAEA;MACLxB,WAAW,EAAE;MACbV,QAAQ,EAAE;;KAEbQ,KAAK,CAACQ,MAAM,CAACC,KAAK,CAACC,aAAa,CAACoB,eAAe,CAC5C,CACL,CACI,CACH,CACZ;AAEjB;;;;"}
1
+ {"version":3,"file":"WarningDialog.js","sources":["../../../../../../../../../../src/components/Table3/components/toolbar/PrintButton/WarningDialog.tsx"],"sourcesContent":["import React from 'react';\n\nimport { BadgeIcon } from '../../../../BadgeIcon/BadgeIcon';\nimport { Button } from '../../../../Button/Button';\nimport { Checkbox } from '../../../../Checkbox/Checkbox';\nimport { Dialog, DialogProps } from '../../../../Dialog/Dialog';\nimport { Group } from '../../../../Group/Group';\nimport { useLocalization } from '../../../../Provider/Localization';\n\nexport type WarningDialogProps = Omit<DialogProps, 'children' | 'onClose'> & {\n onAccept: () => void;\n onCancel: () => void;\n onClose: () => void;\n onVisibilityChange: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\nexport const WarningDialog = ({ onAccept, onCancel, onClose, onVisibilityChange, ...props }: WarningDialogProps) => {\n const [hideWarningDialog, setHideWarningDialog] = React.useState(false);\n const { texts } = useLocalization();\n const handleClose = () => {\n onClose();\n // Change visibility state when the dialog is closing\n onVisibilityChange?.(!hideWarningDialog);\n };\n\n return (\n <Dialog {...props} closeOnEscape={true} onClose={handleClose} showCloseButton={false} size=\"xs\">\n <Dialog.Content aria-label={texts.table3.print.warningDialog.title}>\n <Dialog.Title className=\"text-center\">\n <BadgeIcon icon=\"warning\" color=\"yellow\" className=\"mr-2\" />\n {texts.table3.print.warningDialog.title}\n </Dialog.Title>\n <p>{texts.table3.print.warningDialog.description}</p>\n <Dialog.Footer className=\"flex items-center justify-between\">\n <Checkbox\n label={texts.table3.print.warningDialog.checkboxVisibilityLabel}\n checked={hideWarningDialog}\n onChange={setHideWarningDialog}\n />\n <Group>\n <Button\n onClick={() => {\n handleClose();\n onCancel();\n }}>\n {texts.table3.print.warningDialog.cancelButtonText}\n </Button>\n <Button\n appearance=\"primary\"\n autoFocus\n onClick={() => {\n handleClose();\n onAccept();\n }}>\n {texts.table3.print.warningDialog.printButtonText}\n </Button>\n </Group>\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog>\n );\n};\n"],"names":["WarningDialog","onAccept","onCancel","onClose","onVisibilityChange","props","hideWarningDialog","setHideWarningDialog","React","useState","texts","useLocalization","handleClose","Dialog","closeOnEscape","showCloseButton","size","Content","table3","print","warningDialog","title","Title","className","BadgeIcon","icon","color","description","Footer","Checkbox","label","checkboxVisibilityLabel","checked","onChange","Group","Button","onClick","cancelButtonText","appearance","autoFocus","printButtonText"],"mappings":";;;;;;;;MAgBaA,aAAa,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,kBAAkB;EAAE,GAAGC;CAA2B;EAC3G,MAAM,CAACC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;EACvE,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,WAAW,GAAGA;IAChBT,OAAO,EAAE;;IAETC,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAG,CAACE,iBAAiB,CAAC;GAC3C;EAED,oBACIE,6BAACK,MAAM,oBAAKR,KAAK;IAAES,aAAa,EAAE,IAAI;IAAEX,OAAO,EAAES,WAAW;IAAEG,eAAe,EAAE,KAAK;IAAEC,IAAI,EAAC;mBACvFR,6BAACK,MAAM,CAACI,OAAO;kBAAaP,KAAK,CAACQ,MAAM,CAACC,KAAK,CAACC,aAAa,CAACC;kBACzDb,6BAACK,MAAM,CAACS,KAAK;IAACC,SAAS,EAAC;kBACpBf,6BAACgB,SAAS;IAACC,IAAI,EAAC,SAAS;IAACC,KAAK,EAAC,QAAQ;IAACH,SAAS,EAAC;IAAS,EAC3Db,KAAK,CAACQ,MAAM,CAACC,KAAK,CAACC,aAAa,CAACC,KAAK,CAC5B,eACfb,wCAAIE,KAAK,CAACQ,MAAM,CAACC,KAAK,CAACC,aAAa,CAACO,WAAW,CAAK,eACrDnB,6BAACK,MAAM,CAACe,MAAM;IAACL,SAAS,EAAC;kBACrBf,6BAACqB,QAAQ;IACLC,KAAK,EAAEpB,KAAK,CAACQ,MAAM,CAACC,KAAK,CAACC,aAAa,CAACW,uBAAuB;IAC/DC,OAAO,EAAE1B,iBAAiB;IAC1B2B,QAAQ,EAAE1B;IACZ,eACFC,6BAAC0B,KAAK,qBACF1B,6BAAC2B,MAAM;IACHC,OAAO,EAAEA;MACLxB,WAAW,EAAE;MACbV,QAAQ,EAAE;;KAEbQ,KAAK,CAACQ,MAAM,CAACC,KAAK,CAACC,aAAa,CAACiB,gBAAgB,CAC7C,eACT7B,6BAAC2B,MAAM;IACHG,UAAU,EAAC,SAAS;IACpBC,SAAS;IACTH,OAAO,EAAEA;MACLxB,WAAW,EAAE;MACbX,QAAQ,EAAE;;KAEbS,KAAK,CAACQ,MAAM,CAACC,KAAK,CAACC,aAAa,CAACoB,eAAe,CAC5C,CACL,CACI,CACH,CACZ;AAEjB;;;;"}
@@ -136,10 +136,10 @@ function resetHighlightedColumnIndexes(enabled, value, table) {
136
136
  columns.forEach((column, columnIndex) => {
137
137
  try {
138
138
  var _column$columnDef$met;
139
- if ((_column$columnDef$met = column.columnDef.meta) !== null && _column$columnDef$met !== void 0 && _column$columnDef$met.enableSearch) {
139
+ if (column.getIsVisible() && (_column$columnDef$met = column.columnDef.meta) !== null && _column$columnDef$met !== void 0 && _column$columnDef$met.enableSearch) {
140
140
  var _row$original, _column$columnDef$met2;
141
141
  const cellValue = getCellValueAsString((_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original[column.id], (_column$columnDef$met2 = column.columnDef.meta) === null || _column$columnDef$met2 === void 0 ? void 0 : _column$columnDef$met2.dataType);
142
- if (cellValue && globalFilterFn(cellValue, value)) {
142
+ if (cellValue !== undefined && globalFilterFn(cellValue, value)) {
143
143
  indexes.push([rowIndex, columnIndex]);
144
144
  }
145
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sources":["../../../../../../../../../src/components/Table3/components/toolbar/Search.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { Switch } from '../../../Switch/Switch';\nimport { globalFilterFn } from '../../util/filtering';\nimport { SearchInput2 } from '../../../SearchInput2/SearchInput2';\nimport { useDebouncedEffect } from '../../../../hooks/useDebouncedEffect';\nimport { getCellValueAsString } from '../../util/columns';\n\ntype SearchProps<TType = unknown> = {\n scrollToIndex: any;\n table: RTable<TType>;\n};\n\nenum LoadingState {\n Incomplete,\n Loading,\n Completed,\n}\n\nexport function Search<TType = unknown>(props: SearchProps<TType>) {\n const { scrollToIndex, table } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLInputElement>(null);\n const tableMeta = table.options.meta as TableMeta<TType>;\n const [query, setQuery] = React.useState(tableMeta.search.query);\n const [loading, setLoading] = React.useState<LoadingState>(LoadingState.Incomplete);\n\n const scrollTo = (rowIndex: number) => scrollToIndex(rowIndex, { align: 'center' });\n\n // update the indexes if the row length changes (e.g. when filtering)\n React.useEffect(() => {\n const firstRowIndex = resetHighlightedColumnIndexes(tableMeta.search.isHighlightingEnabled, ref.current?.value, table);\n\n if (firstRowIndex) {\n scrollTo(firstRowIndex);\n }\n }, [\n tableMeta.search.query,\n tableMeta.search.excludeUnmatchedResults,\n table.getRowModel().rows.length,\n JSON.stringify(table.getState().sorting),\n JSON.stringify(table.getState().columnVisibility),\n loading,\n ]);\n\n // update the table search and filtering on a debounce\n useDebouncedEffect(() => {\n tableMeta.search.setQuery(query);\n\n if (tableMeta.search.excludeUnmatchedResults) {\n if (query?.length) {\n table.setGlobalFilter(query);\n } else {\n table.resetGlobalFilter();\n }\n }\n }, [query]);\n\n const handleFocus = async () => {\n // load all data if that is possible\n if (tableMeta.search.loadAll && loading === LoadingState.Incomplete) {\n setLoading(LoadingState.Loading);\n // don't pass the search query because we need all data - not filtered data\n await tableMeta.search.loadAll(table.getState().sorting, table.getState().columnFilters, undefined);\n setLoading(LoadingState.Completed);\n }\n };\n\n const handleChange = (query: any) => {\n setQuery(String(query ?? ''));\n };\n\n const handleToggleExcludeUnmatchedResults = (enabled: boolean) => {\n tableMeta.search.toggleExcludeUnmatchedResults(enabled);\n\n if (enabled) {\n if (ref.current?.value) {\n table.setGlobalFilter(ref.current?.value);\n } else {\n table.resetGlobalFilter();\n }\n } else {\n table.resetGlobalFilter();\n }\n\n requestAnimationFrame(() => ref.current?.focus());\n };\n\n const handleNextResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined ||\n tableMeta.search.currentHighlightColumnIndex === tableMeta.search.highlightedColumnIndexes.length - 1\n ? 0\n : tableMeta.search.currentHighlightColumnIndex + 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n scrollTo(tableMeta.search.highlightedColumnIndexes[nextIndex][0]);\n };\n\n const handlePreviousResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined\n ? 0\n : tableMeta.search.currentHighlightColumnIndex === 0\n ? tableMeta.search.highlightedColumnIndexes.length - 1\n : tableMeta.search.currentHighlightColumnIndex - 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n scrollTo(tableMeta.search.highlightedColumnIndexes[nextIndex][0]);\n };\n\n const settings = (\n <Switch\n label={texts.table3.search.excludeUnmatchedResults}\n checked={tableMeta.search.excludeUnmatchedResults}\n onChange={handleToggleExcludeUnmatchedResults}\n />\n );\n\n return (\n <>\n <SearchInput2\n findCurrent={\n tableMeta.search.currentHighlightColumnIndex !== undefined\n ? tableMeta.search.currentHighlightColumnIndex + 1\n : null\n }\n findTotal={tableMeta.search.highlightedColumnIndexes ? tableMeta.search.highlightedColumnIndexes.length : null}\n loading={loading === LoadingState.Loading}\n onClickFindPrevious={handlePreviousResult}\n onClickFindNext={handleNextResult}\n onChange={handleChange}\n onFocus={handleFocus}\n placeholder={texts.table3.search.placeholder}\n settingsContent={settings}\n ref={ref}\n shortcut={{ key: 'f', meta: true, shift: false }}\n value={query}\n />\n </>\n );\n}\n\nfunction resetHighlightedColumnIndexes<TType = unknown>(enabled: boolean, value: string | undefined, table: RTable<TType>) {\n const tableMeta = table.options.meta as TableMeta<TType>;\n let firstRowIndex: undefined | number;\n\n if (enabled && value) {\n const rowIndexes: number[] = [];\n const indexes: number[][] = [];\n const columns = table.getVisibleLeafColumns();\n\n table.getRowModel().rows.forEach((row, rowIndex) => {\n columns.forEach((column, columnIndex) => {\n try {\n if (column.columnDef.meta?.enableSearch) {\n const cellValue = getCellValueAsString(row.original?.[column.id], column.columnDef.meta?.dataType);\n\n if (cellValue && globalFilterFn(cellValue, value)) {\n indexes.push([rowIndex, columnIndex]);\n }\n }\n } catch (e) {\n //\n }\n });\n\n if (indexes.length) {\n rowIndexes.push(rowIndex);\n }\n });\n\n tableMeta.search.setHighlightedColumnIndexes(indexes);\n\n if (indexes.length) {\n firstRowIndex = indexes[0][0];\n tableMeta.search.setCurrentHighlightColumnIndex(0);\n } else {\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n } else {\n tableMeta.search.setHighlightedColumnIndexes([]);\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n\n if (firstRowIndex !== undefined) {\n tableMeta.currentRow.setCurrentRowIndex(firstRowIndex);\n }\n\n return firstRowIndex;\n}\n"],"names":["LoadingState","Search","props","scrollToIndex","table","texts","useLocalization","ref","React","useRef","tableMeta","options","meta","query","setQuery","useState","search","loading","setLoading","Incomplete","scrollTo","rowIndex","align","useEffect","firstRowIndex","resetHighlightedColumnIndexes","isHighlightingEnabled","_ref$current","current","value","excludeUnmatchedResults","getRowModel","rows","length","JSON","stringify","getState","sorting","columnVisibility","useDebouncedEffect","setGlobalFilter","resetGlobalFilter","handleFocus","loadAll","Loading","Promise","resolve","columnFilters","undefined","then","Completed","_temp","e","reject","handleChange","String","handleToggleExcludeUnmatchedResults","enabled","toggleExcludeUnmatchedResults","_ref$current2","_ref$current3","requestAnimationFrame","_ref$current4","focus","handleNextResult","highlightedColumnIndexes","nextIndex","currentHighlightColumnIndex","setCurrentHighlightColumnIndex","handlePreviousResult","settings","Switch","label","table3","checked","onChange","SearchInput2","findCurrent","findTotal","onClickFindPrevious","onClickFindNext","onFocus","placeholder","settingsContent","shortcut","key","shift","indexes","columns","getVisibleLeafColumns","forEach","row","column","columnIndex","_column$columnDef$met","columnDef","enableSearch","_row$original","_column$columnDef$met2","cellValue","getCellValueAsString","original","id","dataType","globalFilterFn","push","setHighlightedColumnIndexes","currentRow","setCurrentRowIndex"],"mappings":"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"}
1
+ {"version":3,"file":"Search.js","sources":["../../../../../../../../../src/components/Table3/components/toolbar/Search.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { Switch } from '../../../Switch/Switch';\nimport { globalFilterFn } from '../../util/filtering';\nimport { SearchInput2 } from '../../../SearchInput2/SearchInput2';\nimport { useDebouncedEffect } from '../../../../hooks/useDebouncedEffect';\nimport { getCellValueAsString } from '../../util/columns';\n\ntype SearchProps<TType = unknown> = {\n scrollToIndex: any;\n table: RTable<TType>;\n};\n\nenum LoadingState {\n Incomplete,\n Loading,\n Completed,\n}\n\nexport function Search<TType = unknown>(props: SearchProps<TType>) {\n const { scrollToIndex, table } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLInputElement>(null);\n const tableMeta = table.options.meta as TableMeta<TType>;\n const [query, setQuery] = React.useState(tableMeta.search.query);\n const [loading, setLoading] = React.useState<LoadingState>(LoadingState.Incomplete);\n\n const scrollTo = (rowIndex: number) => scrollToIndex(rowIndex, { align: 'center' });\n\n // update the indexes if the row length changes (e.g. when filtering)\n React.useEffect(() => {\n const firstRowIndex = resetHighlightedColumnIndexes(tableMeta.search.isHighlightingEnabled, ref.current?.value, table);\n\n if (firstRowIndex) {\n scrollTo(firstRowIndex);\n }\n }, [\n tableMeta.search.query,\n tableMeta.search.excludeUnmatchedResults,\n table.getRowModel().rows.length,\n JSON.stringify(table.getState().sorting),\n JSON.stringify(table.getState().columnVisibility),\n loading,\n ]);\n\n // update the table search and filtering on a debounce\n useDebouncedEffect(() => {\n tableMeta.search.setQuery(query);\n\n if (tableMeta.search.excludeUnmatchedResults) {\n if (query?.length) {\n table.setGlobalFilter(query);\n } else {\n table.resetGlobalFilter();\n }\n }\n }, [query]);\n\n const handleFocus = async () => {\n // load all data if that is possible\n if (tableMeta.search.loadAll && loading === LoadingState.Incomplete) {\n setLoading(LoadingState.Loading);\n // don't pass the search query because we need all data - not filtered data\n await tableMeta.search.loadAll(table.getState().sorting, table.getState().columnFilters, undefined);\n setLoading(LoadingState.Completed);\n }\n };\n\n const handleChange = (query: any) => {\n setQuery(String(query ?? ''));\n };\n\n const handleToggleExcludeUnmatchedResults = (enabled: boolean) => {\n tableMeta.search.toggleExcludeUnmatchedResults(enabled);\n\n if (enabled) {\n if (ref.current?.value) {\n table.setGlobalFilter(ref.current?.value);\n } else {\n table.resetGlobalFilter();\n }\n } else {\n table.resetGlobalFilter();\n }\n\n requestAnimationFrame(() => ref.current?.focus());\n };\n\n const handleNextResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined ||\n tableMeta.search.currentHighlightColumnIndex === tableMeta.search.highlightedColumnIndexes.length - 1\n ? 0\n : tableMeta.search.currentHighlightColumnIndex + 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n scrollTo(tableMeta.search.highlightedColumnIndexes[nextIndex][0]);\n };\n\n const handlePreviousResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined\n ? 0\n : tableMeta.search.currentHighlightColumnIndex === 0\n ? tableMeta.search.highlightedColumnIndexes.length - 1\n : tableMeta.search.currentHighlightColumnIndex - 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n scrollTo(tableMeta.search.highlightedColumnIndexes[nextIndex][0]);\n };\n\n const settings = (\n <Switch\n label={texts.table3.search.excludeUnmatchedResults}\n checked={tableMeta.search.excludeUnmatchedResults}\n onChange={handleToggleExcludeUnmatchedResults}\n />\n );\n\n return (\n <>\n <SearchInput2\n findCurrent={\n tableMeta.search.currentHighlightColumnIndex !== undefined\n ? tableMeta.search.currentHighlightColumnIndex + 1\n : null\n }\n findTotal={tableMeta.search.highlightedColumnIndexes ? tableMeta.search.highlightedColumnIndexes.length : null}\n loading={loading === LoadingState.Loading}\n onClickFindPrevious={handlePreviousResult}\n onClickFindNext={handleNextResult}\n onChange={handleChange}\n onFocus={handleFocus}\n placeholder={texts.table3.search.placeholder}\n settingsContent={settings}\n ref={ref}\n shortcut={{ key: 'f', meta: true, shift: false }}\n value={query}\n />\n </>\n );\n}\n\nfunction resetHighlightedColumnIndexes<TType = unknown>(enabled: boolean, value: string | undefined, table: RTable<TType>) {\n const tableMeta = table.options.meta as TableMeta<TType>;\n let firstRowIndex: undefined | number;\n\n if (enabled && value) {\n const rowIndexes: number[] = [];\n const indexes: number[][] = [];\n const columns = table.getVisibleLeafColumns();\n\n table.getRowModel().rows.forEach((row, rowIndex) => {\n columns.forEach((column, columnIndex) => {\n try {\n if (column.getIsVisible() && column.columnDef.meta?.enableSearch) {\n const cellValue = getCellValueAsString(row.original?.[column.id], column.columnDef.meta?.dataType);\n\n if (cellValue !== undefined && globalFilterFn(cellValue, value)) {\n indexes.push([rowIndex, columnIndex]);\n }\n }\n } catch (e) {\n //\n }\n });\n\n if (indexes.length) {\n rowIndexes.push(rowIndex);\n }\n });\n\n tableMeta.search.setHighlightedColumnIndexes(indexes);\n\n if (indexes.length) {\n firstRowIndex = indexes[0][0];\n tableMeta.search.setCurrentHighlightColumnIndex(0);\n } else {\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n } else {\n tableMeta.search.setHighlightedColumnIndexes([]);\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n\n if (firstRowIndex !== undefined) {\n tableMeta.currentRow.setCurrentRowIndex(firstRowIndex);\n }\n\n return firstRowIndex;\n}\n"],"names":["LoadingState","Search","props","scrollToIndex","table","texts","useLocalization","ref","React","useRef","tableMeta","options","meta","query","setQuery","useState","search","loading","setLoading","Incomplete","scrollTo","rowIndex","align","useEffect","firstRowIndex","resetHighlightedColumnIndexes","isHighlightingEnabled","_ref$current","current","value","excludeUnmatchedResults","getRowModel","rows","length","JSON","stringify","getState","sorting","columnVisibility","useDebouncedEffect","setGlobalFilter","resetGlobalFilter","handleFocus","loadAll","Loading","Promise","resolve","columnFilters","undefined","then","Completed","_temp","e","reject","handleChange","String","handleToggleExcludeUnmatchedResults","enabled","toggleExcludeUnmatchedResults","_ref$current2","_ref$current3","requestAnimationFrame","_ref$current4","focus","handleNextResult","highlightedColumnIndexes","nextIndex","currentHighlightColumnIndex","setCurrentHighlightColumnIndex","handlePreviousResult","settings","Switch","label","table3","checked","onChange","SearchInput2","findCurrent","findTotal","onClickFindPrevious","onClickFindNext","onFocus","placeholder","settingsContent","shortcut","key","shift","indexes","columns","getVisibleLeafColumns","forEach","row","column","columnIndex","_column$columnDef$met","getIsVisible","columnDef","enableSearch","_row$original","_column$columnDef$met2","cellValue","getCellValueAsString","original","id","dataType","globalFilterFn","push","setHighlightedColumnIndexes","currentRow","setCurrentRowIndex"],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import React__default from 'react';
2
+ import { IconButton } from '../../../IconButton/IconButton.js';
3
+ import { useLocalization } from '../../../Provider/Localization.js';
4
+ import { Menu } from '../../../Menu/Menu.js';
5
+ import { RowHeight } from './RowHeight.js';
6
+ import { ColumnSettingsPopover } from './ColumnSettings.js';
7
+ import { FontSize } from './FontSize.js';
8
+
9
+ function SettingsButton(props) {
10
+ const {
11
+ table
12
+ } = props;
13
+ const {
14
+ texts
15
+ } = useLocalization();
16
+ const [popover, setPopover] = React__default.useState(undefined);
17
+ const tableMeta = table.options.meta;
18
+ const hasColumnSettings = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;
19
+ let popoverElement;
20
+ if (popover) {
21
+ const handleClosePopover = () => setPopover(undefined);
22
+ switch (popover) {
23
+ case 'columnSettings':
24
+ {
25
+ if (hasColumnSettings) {
26
+ popoverElement = props => /*#__PURE__*/React__default.createElement(ColumnSettingsPopover, Object.assign({}, props, {
27
+ open: true,
28
+ onChange: handleClosePopover,
29
+ table: table
30
+ }));
31
+ }
32
+ }
33
+ }
34
+ }
35
+ return /*#__PURE__*/React__default.createElement(IconButton, {
36
+ "aria-label": texts.table3.otherOptions.tooltip,
37
+ icon: "sliders",
38
+ menu: popoverElement ? undefined : menuProps => /*#__PURE__*/React__default.createElement(Menu, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu.Content, {
39
+ align: "end"
40
+ }, table.options.enableHiding || tableMeta.columnOrdering.isEnabled ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Menu.Item, {
41
+ icon: "columns",
42
+ onClick: () => setPopover('columnSettings')
43
+ }, texts.table3.columnSettings.button), /*#__PURE__*/React__default.createElement(Menu.Separator, null)) : null, tableMeta.rowHeight.isEnabled ? /*#__PURE__*/React__default.createElement(Menu.Item, {
44
+ icon: `height-${tableMeta.rowHeight.height}`,
45
+ subMenu: () => /*#__PURE__*/React__default.createElement(RowHeight, {
46
+ table: table
47
+ })
48
+ }, texts.table3.rowHeight.tooltip) : null, tableMeta.fontSize.isEnabled ? /*#__PURE__*/React__default.createElement(Menu.Item, {
49
+ icon: "font-size",
50
+ subMenu: () => /*#__PURE__*/React__default.createElement(FontSize, {
51
+ table: table
52
+ })
53
+ }, texts.table3.fontSize.tooltip) : null)),
54
+ popover: popoverElement,
55
+ onClickCapture: event => event.preventDefault(),
56
+ tooltip: texts.table3.otherOptions.tooltip
57
+ });
58
+ }
59
+
60
+ export { SettingsButton };
61
+ //# sourceMappingURL=Settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings.js","sources":["../../../../../../../../../src/components/Table3/components/toolbar/Settings.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { RowHeight } from './RowHeight';\nimport { ColumnSettingsPopover } from './ColumnSettings';\nimport { IconButton } from '../../../IconButton/IconButton';\nimport { Menu } from '../../../Menu/Menu';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { IconName } from '../../../Icon/Icon';\nimport { FontSize } from './FontSize';\n\nexport type SettingsButtonProps<TType = unknown> = {\n table: RTable<TType>;\n};\nexport function SettingsButton<TType = unknown>(props: SettingsButtonProps<TType>) {\n const { table } = props;\n const { texts } = useLocalization();\n const [popover, setPopover] = React.useState<string | undefined>(undefined);\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n const hasColumnSettings = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;\n\n let popoverElement;\n\n if (popover) {\n const handleClosePopover = () => setPopover(undefined);\n\n switch (popover) {\n case 'columnSettings': {\n if (hasColumnSettings) {\n popoverElement = props => (\n <ColumnSettingsPopover {...props} open onChange={handleClosePopover} table={table} />\n );\n }\n }\n }\n }\n\n return (\n <IconButton\n aria-label={texts.table3.otherOptions.tooltip}\n icon=\"sliders\"\n menu={\n popoverElement\n ? undefined\n : menuProps => (\n <Menu {...menuProps}>\n <Menu.Content align=\"end\">\n {table.options.enableHiding || tableMeta.columnOrdering.isEnabled ? (\n <>\n <Menu.Item icon=\"columns\" onClick={() => setPopover('columnSettings')}>\n {texts.table3.columnSettings.button}\n </Menu.Item>\n <Menu.Separator />\n </>\n ) : null}\n {tableMeta.rowHeight.isEnabled ? (\n <Menu.Item\n icon={`height-${tableMeta.rowHeight.height}` as IconName}\n subMenu={() => <RowHeight table={table} />}>\n {texts.table3.rowHeight.tooltip}\n </Menu.Item>\n ) : null}\n {tableMeta.fontSize.isEnabled ? (\n <Menu.Item icon=\"font-size\" subMenu={() => <FontSize table={table} />}>\n {texts.table3.fontSize.tooltip}\n </Menu.Item>\n ) : null}\n </Menu.Content>\n </Menu>\n )\n }\n popover={popoverElement}\n onClickCapture={event => event.preventDefault()}\n tooltip={texts.table3.otherOptions.tooltip}\n />\n );\n}\n"],"names":["SettingsButton","props","table","texts","useLocalization","popover","setPopover","React","useState","undefined","tableMeta","options","meta","hasColumnSettings","enableHiding","columnOrdering","isEnabled","popoverElement","handleClosePopover","ColumnSettingsPopover","open","onChange","IconButton","table3","otherOptions","tooltip","icon","menu","menuProps","Menu","Content","align","Item","onClick","columnSettings","button","Separator","rowHeight","height","subMenu","RowHeight","fontSize","FontSize","onClickCapture","event","preventDefault"],"mappings":";;;;;;;;SAagBA,cAAcA,CAAkBC,KAAiC;EAC7E,MAAM;IAAEC;GAAO,GAAGD,KAAK;EACvB,MAAM;IAAEE;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAqBC,SAAS,CAAC;EAC3E,MAAMC,SAAS,GAAGR,KAAK,CAACS,OAAO,CAACC,IAAwB;EAExD,MAAMC,iBAAiB,GAAGX,KAAK,CAACS,OAAO,CAACG,YAAY,IAAIJ,SAAS,CAACK,cAAc,CAACC,SAAS;EAE1F,IAAIC,cAAc;EAElB,IAAIZ,OAAO,EAAE;IACT,MAAMa,kBAAkB,GAAGA,MAAMZ,UAAU,CAACG,SAAS,CAAC;IAEtD,QAAQJ,OAAO;MACX,KAAK,gBAAgB;QAAE;UACnB,IAAIQ,iBAAiB,EAAE;YACnBI,cAAc,GAAGhB,KAAK,iBAClBM,6BAACY,qBAAqB,oBAAKlB,KAAK;cAAEmB,IAAI;cAACC,QAAQ,EAAEH,kBAAkB;cAAEhB,KAAK,EAAEA;eAC/E;;;;;EAMjB,oBACIK,6BAACe,UAAU;kBACKnB,KAAK,CAACoB,MAAM,CAACC,YAAY,CAACC,OAAO;IAC7CC,IAAI,EAAC,SAAS;IACdC,IAAI,EACAV,cAAc,GACRR,SAAS,GACTmB,SAAS,iBACLrB,6BAACsB,IAAI,oBAAKD,SAAS,gBACfrB,6BAACsB,IAAI,CAACC,OAAO;MAACC,KAAK,EAAC;OACf7B,KAAK,CAACS,OAAO,CAACG,YAAY,IAAIJ,SAAS,CAACK,cAAc,CAACC,SAAS,gBAC7DT,yEACIA,6BAACsB,IAAI,CAACG,IAAI;MAACN,IAAI,EAAC,SAAS;MAACO,OAAO,EAAEA,MAAM3B,UAAU,CAAC,gBAAgB;OAC/DH,KAAK,CAACoB,MAAM,CAACW,cAAc,CAACC,MAAM,CAC3B,eACZ5B,6BAACsB,IAAI,CAACO,SAAS,OAAG,CACnB,GACH,IAAI,EACP1B,SAAS,CAAC2B,SAAS,CAACrB,SAAS,gBAC1BT,6BAACsB,IAAI,CAACG,IAAI;MACNN,IAAI,YAAYhB,SAAS,CAAC2B,SAAS,CAACC,QAAoB;MACxDC,OAAO,EAAEA,mBAAMhC,6BAACiC,SAAS;QAACtC,KAAK,EAAEA;;OAChCC,KAAK,CAACoB,MAAM,CAACc,SAAS,CAACZ,OAAO,CACvB,GACZ,IAAI,EACPf,SAAS,CAAC+B,QAAQ,CAACzB,SAAS,gBACzBT,6BAACsB,IAAI,CAACG,IAAI;MAACN,IAAI,EAAC,WAAW;MAACa,OAAO,EAAEA,mBAAMhC,6BAACmC,QAAQ;QAACxC,KAAK,EAAEA;;OACvDC,KAAK,CAACoB,MAAM,CAACkB,QAAQ,CAAChB,OAAO,CACtB,GACZ,IAAI,CACG,CAEtB;IAEXpB,OAAO,EAAEY,cAAc;IACvB0B,cAAc,EAAEC,KAAK,IAAIA,KAAK,CAACC,cAAc,EAAE;IAC/CpB,OAAO,EAAEtB,KAAK,CAACoB,MAAM,CAACC,YAAY,CAACC;IACrC;AAEV;;;;"}
@@ -1,16 +1,10 @@
1
1
  import React__default from 'react';
2
- import { Tooltip } from '../../../Tooltip/Tooltip.js';
3
- import { IconButton } from '../../../IconButton/IconButton.js';
4
- import { useLocalization } from '../../../Provider/Localization.js';
5
2
  import { Group } from '../../../Group/Group.js';
6
- import { Menu } from '../../../Menu/Menu.js';
7
- import { RowHeight } from './RowHeight.js';
8
3
  import { Search } from './Search.js';
9
- import { Filters } from './Filter/filters/Filters.js';
10
- import { ColumnSettings } from './ColumnSettings.js';
4
+ import { FiltersButton } from './Filter/filters/Filters.js';
11
5
  import { EditButton } from './EditButton.js';
12
6
  import { PrintButton } from './PrintButton/PrintButton.js';
13
- import { FontSize } from './FontSize.js';
7
+ import { SettingsButton } from './Settings.js';
14
8
 
15
9
  function Toolbar(props) {
16
10
  const {
@@ -21,9 +15,6 @@ function Toolbar(props) {
21
15
  tableProps,
22
16
  total
23
17
  } = props;
24
- const {
25
- texts
26
- } = useLocalization();
27
18
  if (!isToolbarVisible(props)) {
28
19
  return null;
29
20
  }
@@ -35,38 +26,20 @@ function Toolbar(props) {
35
26
  className: "ml-auto flex-shrink-0 print:hidden"
36
27
  }, tableMeta.editing.isEnabled ? /*#__PURE__*/React__default.createElement(EditButton, {
37
28
  table: table
38
- }) : null, table.options.enableColumnFilters ? /*#__PURE__*/React__default.createElement(Filters, {
29
+ }) : null, table.options.enableColumnFilters ? /*#__PURE__*/React__default.createElement(FiltersButton, {
39
30
  table: table,
40
31
  total: total
41
- }) : null, table.options.enableHiding || tableMeta.columnOrdering.isEnabled ? /*#__PURE__*/React__default.createElement(ColumnSettings, {
42
- table: table
43
- }) : null, tableMeta.printing.isEnabled ? /*#__PURE__*/React__default.createElement(PrintButton, {
32
+ }) : null, right, tableMeta.printing.isEnabled ? /*#__PURE__*/React__default.createElement(PrintButton, {
44
33
  table: table,
45
34
  tableProps: tableProps
46
- }) : null, right, isMoreVisible(props) ? /*#__PURE__*/React__default.createElement(Tooltip, {
47
- title: texts.table3.otherOptions.tooltip
48
- }, /*#__PURE__*/React__default.createElement(IconButton, {
49
- "aria-label": texts.table3.otherOptions.tooltip,
50
- icon: "more",
51
- menu: menuProps => /*#__PURE__*/React__default.createElement(Menu, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu.Content, {
52
- align: "end"
53
- }, tableMeta.rowHeight.isEnabled ? /*#__PURE__*/React__default.createElement(Menu.Item, {
54
- icon: `height-${tableMeta.rowHeight.height}`,
55
- subMenu: () => /*#__PURE__*/React__default.createElement(RowHeight, {
56
- table: table
57
- })
58
- }, texts.table3.rowHeight.tooltip) : null, tableMeta.fontSize.isEnabled ? /*#__PURE__*/React__default.createElement(Menu.Item, {
59
- icon: "font-size",
60
- subMenu: () => /*#__PURE__*/React__default.createElement(FontSize, {
61
- table: table
62
- })
63
- }, texts.table3.fontSize.tooltip) : null))
64
- })) : null, tableMeta.search.isEnabled ? /*#__PURE__*/React__default.createElement(Search, {
35
+ }) : null, isSettingsVisible(props) ? /*#__PURE__*/React__default.createElement(SettingsButton, {
36
+ table: table
37
+ }) : null, tableMeta.search.isEnabled ? /*#__PURE__*/React__default.createElement(Search, {
65
38
  scrollToIndex: scrollToIndex,
66
39
  table: table
67
40
  }) : null));
68
41
  }
69
- function isMoreVisible(props) {
42
+ function isSettingsVisible(props) {
70
43
  const {
71
44
  table
72
45
  } = props;
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.js","sources":["../../../../../../../../../src/components/Table3/components/toolbar/Toolbar.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { RowHeight } from './RowHeight';\nimport { Search } from './Search';\nimport { Group } from '../../../Group/Group';\nimport { Filters } from './Filter/filters/Filters';\nimport { ColumnSettings } from './ColumnSettings';\nimport { EditButton } from './EditButton';\nimport { PrintButton } from './PrintButton/PrintButton';\nimport { Table3Props } from '../../types';\nimport { IconButton } from '../../../IconButton/IconButton';\nimport { Menu } from '../../../Menu/Menu';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { IconName } from '../../../Icon/Icon';\nimport { FontSize } from './FontSize';\nimport { Tooltip } from '../../../Tooltip/Tooltip';\n\nexport type ToolbarProps<TType = unknown> = {\n left?: JSX.Element;\n right?: JSX.Element;\n scrollToIndex: any;\n table: RTable<TType>;\n tableProps: Table3Props<TType>;\n total: number;\n};\nexport function Toolbar<TType = unknown>(props: ToolbarProps<TType>) {\n const { left, right, scrollToIndex, table, tableProps, total } = props;\n const { texts } = useLocalization();\n\n if (!isToolbarVisible(props)) {\n return null;\n }\n\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n return (\n <div className=\"mb-4 flex flex-shrink flex-grow-0 flex-wrap gap-2\" data-taco=\"table3-toolbar\">\n {left}\n <Group className=\"ml-auto flex-shrink-0 print:hidden\">\n {tableMeta.editing.isEnabled ? <EditButton table={table} /> : null}\n {table.options.enableColumnFilters ? <Filters table={table} total={total} /> : null}\n {table.options.enableHiding || tableMeta.columnOrdering.isEnabled ? <ColumnSettings table={table} /> : null}\n {tableMeta.printing.isEnabled ? <PrintButton table={table} tableProps={tableProps} /> : null}\n {right}\n {isMoreVisible(props) ? (\n <Tooltip title={texts.table3.otherOptions.tooltip}>\n <IconButton\n aria-label={texts.table3.otherOptions.tooltip}\n icon=\"more\"\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content align=\"end\">\n {tableMeta.rowHeight.isEnabled ? (\n <Menu.Item\n icon={`height-${tableMeta.rowHeight.height}` as IconName}\n subMenu={() => <RowHeight table={table} />}>\n {texts.table3.rowHeight.tooltip}\n </Menu.Item>\n ) : null}\n {tableMeta.fontSize.isEnabled ? (\n <Menu.Item icon=\"font-size\" subMenu={() => <FontSize table={table} />}>\n {texts.table3.fontSize.tooltip}\n </Menu.Item>\n ) : null}\n </Menu.Content>\n </Menu>\n )}\n />\n </Tooltip>\n ) : null}\n {tableMeta.search.isEnabled ? <Search scrollToIndex={scrollToIndex} table={table} /> : null}\n </Group>\n </div>\n );\n}\n\nfunction isMoreVisible<TType = unknown>(props: ToolbarProps<TType>) {\n const { table } = props;\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n return tableMeta.fontSize.isEnabled || tableMeta.rowHeight.isEnabled;\n}\n\nfunction isToolbarVisible<TType = unknown>(props: ToolbarProps<TType>) {\n const { left, right, table } = props;\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n const enableSettingsButton = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;\n const hasInternalToolbar =\n enableSettingsButton ||\n tableMeta.editing.isEnabled ||\n tableMeta.printing.isEnabled ||\n table.options.enableColumnFilters ||\n tableMeta.fontSize.isEnabled ||\n tableMeta.rowHeight.isEnabled ||\n tableMeta.search.isEnabled;\n\n return hasInternalToolbar || !!left || !!right;\n}\n"],"names":["Toolbar","props","left","right","scrollToIndex","table","tableProps","total","texts","useLocalization","isToolbarVisible","tableMeta","options","meta","React","className","Group","editing","isEnabled","EditButton","enableColumnFilters","Filters","enableHiding","columnOrdering","ColumnSettings","printing","PrintButton","isMoreVisible","Tooltip","title","table3","otherOptions","tooltip","IconButton","icon","menu","menuProps","Menu","Content","align","rowHeight","Item","height","subMenu","RowHeight","fontSize","FontSize","search","Search","enableSettingsButton","hasInternalToolbar"],"mappings":"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"}
1
+ {"version":3,"file":"Toolbar.js","sources":["../../../../../../../../../src/components/Table3/components/toolbar/Toolbar.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { Search } from './Search';\nimport { Group } from '../../../Group/Group';\nimport { FiltersButton } from './Filter/filters/Filters';\nimport { EditButton } from './EditButton';\nimport { PrintButton } from './PrintButton/PrintButton';\nimport { Table3Props } from '../../types';\nimport { SettingsButton } from './Settings';\n\nexport type ToolbarProps<TType = unknown> = {\n left?: JSX.Element;\n right?: JSX.Element;\n scrollToIndex: any;\n table: RTable<TType>;\n tableProps: Table3Props<TType>;\n total: number;\n};\nexport function Toolbar<TType = unknown>(props: ToolbarProps<TType>) {\n const { left, right, scrollToIndex, table, tableProps, total } = props;\n\n if (!isToolbarVisible(props)) {\n return null;\n }\n\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n return (\n <div className=\"mb-4 flex flex-shrink flex-grow-0 flex-wrap gap-2\" data-taco=\"table3-toolbar\">\n {left}\n <Group className=\"ml-auto flex-shrink-0 print:hidden\">\n {tableMeta.editing.isEnabled ? <EditButton table={table} /> : null}\n {table.options.enableColumnFilters ? <FiltersButton table={table} total={total} /> : null}\n {right}\n {tableMeta.printing.isEnabled ? <PrintButton table={table} tableProps={tableProps} /> : null}\n {isSettingsVisible(props) ? <SettingsButton table={table} /> : null}\n {tableMeta.search.isEnabled ? <Search scrollToIndex={scrollToIndex} table={table} /> : null}\n </Group>\n </div>\n );\n}\n\nfunction isSettingsVisible<TType = unknown>(props: ToolbarProps<TType>) {\n const { table } = props;\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n return tableMeta.fontSize.isEnabled || tableMeta.rowHeight.isEnabled;\n}\n\nfunction isToolbarVisible<TType = unknown>(props: ToolbarProps<TType>) {\n const { left, right, table } = props;\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n const enableSettingsButton = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;\n const hasInternalToolbar =\n enableSettingsButton ||\n tableMeta.editing.isEnabled ||\n tableMeta.printing.isEnabled ||\n table.options.enableColumnFilters ||\n tableMeta.fontSize.isEnabled ||\n tableMeta.rowHeight.isEnabled ||\n tableMeta.search.isEnabled;\n\n return hasInternalToolbar || !!left || !!right;\n}\n"],"names":["Toolbar","props","left","right","scrollToIndex","table","tableProps","total","isToolbarVisible","tableMeta","options","meta","React","className","Group","editing","isEnabled","EditButton","enableColumnFilters","FiltersButton","printing","PrintButton","isSettingsVisible","SettingsButton","search","Search","fontSize","rowHeight","enableSettingsButton","enableHiding","columnOrdering","hasInternalToolbar"],"mappings":";;;;;;;;SAkBgBA,OAAOA,CAAkBC,KAA0B;EAC/D,MAAM;IAAEC,IAAI;IAAEC,KAAK;IAAEC,aAAa;IAAEC,KAAK;IAAEC,UAAU;IAAEC;GAAO,GAAGN,KAAK;EAEtE,IAAI,CAACO,gBAAgB,CAACP,KAAK,CAAC,EAAE;IAC1B,OAAO,IAAI;;EAGf,MAAMQ,SAAS,GAAGJ,KAAK,CAACK,OAAO,CAACC,IAAwB;EAExD,oBACIC;IAAKC,SAAS,EAAC,mDAAmD;iBAAW;KACxEX,IAAI,eACLU,6BAACE,KAAK;IAACD,SAAS,EAAC;KACZJ,SAAS,CAACM,OAAO,CAACC,SAAS,gBAAGJ,6BAACK,UAAU;IAACZ,KAAK,EAAEA;IAAS,GAAG,IAAI,EACjEA,KAAK,CAACK,OAAO,CAACQ,mBAAmB,gBAAGN,6BAACO,aAAa;IAACd,KAAK,EAAEA,KAAK;IAAEE,KAAK,EAAEA;IAAS,GAAG,IAAI,EACxFJ,KAAK,EACLM,SAAS,CAACW,QAAQ,CAACJ,SAAS,gBAAGJ,6BAACS,WAAW;IAAChB,KAAK,EAAEA,KAAK;IAAEC,UAAU,EAAEA;IAAc,GAAG,IAAI,EAC3FgB,iBAAiB,CAACrB,KAAK,CAAC,gBAAGW,6BAACW,cAAc;IAAClB,KAAK,EAAEA;IAAS,GAAG,IAAI,EAClEI,SAAS,CAACe,MAAM,CAACR,SAAS,gBAAGJ,6BAACa,MAAM;IAACrB,aAAa,EAAEA,aAAa;IAAEC,KAAK,EAAEA;IAAS,GAAG,IAAI,CACvF,CACN;AAEd;AAEA,SAASiB,iBAAiBA,CAAkBrB,KAA0B;EAClE,MAAM;IAAEI;GAAO,GAAGJ,KAAK;EACvB,MAAMQ,SAAS,GAAGJ,KAAK,CAACK,OAAO,CAACC,IAAwB;EAExD,OAAOF,SAAS,CAACiB,QAAQ,CAACV,SAAS,IAAIP,SAAS,CAACkB,SAAS,CAACX,SAAS;AACxE;AAEA,SAASR,gBAAgBA,CAAkBP,KAA0B;EACjE,MAAM;IAAEC,IAAI;IAAEC,KAAK;IAAEE;GAAO,GAAGJ,KAAK;EACpC,MAAMQ,SAAS,GAAGJ,KAAK,CAACK,OAAO,CAACC,IAAwB;EAExD,MAAMiB,oBAAoB,GAAGvB,KAAK,CAACK,OAAO,CAACmB,YAAY,IAAIpB,SAAS,CAACqB,cAAc,CAACd,SAAS;EAC7F,MAAMe,kBAAkB,GACpBH,oBAAoB,IACpBnB,SAAS,CAACM,OAAO,CAACC,SAAS,IAC3BP,SAAS,CAACW,QAAQ,CAACJ,SAAS,IAC5BX,KAAK,CAACK,OAAO,CAACQ,mBAAmB,IACjCT,SAAS,CAACiB,QAAQ,CAACV,SAAS,IAC5BP,SAAS,CAACkB,SAAS,CAACX,SAAS,IAC7BP,SAAS,CAACe,MAAM,CAACR,SAAS;EAE9B,OAAOe,kBAAkB,IAAI,CAAC,CAAC7B,IAAI,IAAI,CAAC,CAACC,KAAK;AAClD;;;;"}
@@ -58,8 +58,9 @@ function useColumnFreezingStyle(tableId, table) {
58
58
  if (tableMeta.columnFreezing.frozenInternalColumnCount > 0 || tableMeta.columnFreezing.isEnabled && frozenColumnIndex !== undefined) {
59
59
  var _visibleFrozenColumns;
60
60
  const visibleFrozenColumns = table.getVisibleLeafColumns().slice(0, frozenColumnIndex + 1);
61
- // if all frozen columns haven't had their size set yet, then abort
62
- if (visibleFrozenColumns.every(column => columnSizing[column.id] === undefined)) {
61
+ const visibleExternalFrozenColumns = visibleFrozenColumns.filter(column => !isInternalColumn(column.id));
62
+ // if all external frozen columns haven't had their size set yet, then abort
63
+ if (visibleExternalFrozenColumns.length && visibleExternalFrozenColumns.every(column => columnSizing[column.id] === undefined)) {
63
64
  return undefined;
64
65
  }
65
66
  const offsets = {};
@@ -1 +1 @@
1
- {"version":3,"file":"useColumnFreezing.js","sources":["../../../../../../../../../src/components/Table3/hooks/features/useColumnFreezing.ts"],"sourcesContent":["import { Table, TableMeta } from '@tanstack/react-table';\nimport React from 'react';\nimport { Table3Options } from '../../types';\nimport { isInternalColumn } from '../../util/columns';\n\nexport function getFrozenInternalColumnCount(options: Table3Options) {\n let index = 0;\n\n if (options.enableRowDrag) {\n index++;\n }\n\n if (options.enableRowSelection) {\n index++;\n }\n\n if (options.enableRowExpansion) {\n index++;\n }\n\n return index;\n}\n\n/*\nBecause of the desired behaviour of column freezing we use custom state and just an index.\nIf a frozen column is, for example, hidden, then the desired behaviour is that the next available column gets frozen.\nIf this behaviour were different we would just use the native column pinning functionality\n*/\nexport function useColumnFreezing(defaultFrozenIndex: number | undefined, options: Table3Options) {\n const [frozenColumnIndex, _setFrozenColumnIndex] = React.useState<number | undefined>(() => defaultFrozenIndex);\n const [horizontallyScrolled, setHorizontallyScrolled] = React.useState(false);\n\n const onScroll = (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.currentTarget.scrollLeft > 0 && !horizontallyScrolled) {\n setHorizontallyScrolled(true);\n } else if (event.currentTarget.scrollLeft === 0 && horizontallyScrolled) {\n setHorizontallyScrolled(false);\n }\n };\n\n const frozenInternalColumnCount = React.useMemo(() => getFrozenInternalColumnCount(options), []);\n // we must set a value when undefined is explicitly set, otherwise nothing is saved to settings\n // and the next time the table loads it will fall back to the initial value even though the user changed it\n const setFrozenColumnIndex = (index: number | undefined) => _setFrozenColumnIndex(index ?? -1);\n\n return {\n isEnabled: options.enableColumnFreezing,\n frozenInternalColumnCount,\n frozenColumnIndex,\n setFrozenColumnIndex,\n horizontallyScrolled,\n handleScroll: onScroll,\n };\n}\n\nexport function useColumnFreezingStyle<TType = unknown>(tableId: string, table: Table<TType>) {\n const { columnOrder, columnSizing, columnSizingInfo, columnVisibility } = table.getState();\n const tableMeta = table.options.meta as TableMeta<TType>;\n const frozenColumnIndex =\n // If column freezing is not enabled then only internal frozen column should be frozen.\n (tableMeta.columnFreezing.isEnabled ? tableMeta.columnFreezing.frozenColumnIndex ?? -1 : -1) +\n tableMeta.columnFreezing.frozenInternalColumnCount;\n\n const style = React.useMemo(() => {\n if (\n tableMeta.columnFreezing.frozenInternalColumnCount > 0 ||\n (tableMeta.columnFreezing.isEnabled && frozenColumnIndex !== undefined)\n ) {\n const visibleFrozenColumns = table.getVisibleLeafColumns().slice(0, frozenColumnIndex + 1);\n\n // if all frozen columns haven't had their size set yet, then abort\n if (visibleFrozenColumns.every(column => columnSizing[column.id] === undefined)) {\n return undefined;\n }\n\n const offsets = {};\n\n visibleFrozenColumns.reduce((offset, column) => {\n const columnId = column.id;\n\n offsets[columnId] = offset;\n\n if (isInternalColumn(columnId)) {\n // getSize method is used instead of columnSizing state because columnSizing state doesn't have\n // sizes of internal columns.\n return offset + column.getSize();\n }\n\n return offset + columnSizing[columnId];\n }, 0);\n\n const styles = [\n Object.values(offsets)\n .map((offset, index) => `#${tableId} [role=\"row\"] > :nth-child(${index + 1}) { left: ${offset}px }`)\n .join('\\n'),\n `#${tableId} [role=\"row\"] > :not(:nth-child(n+${frozenColumnIndex + 2})) {\n position: sticky;\n z-index: 20;\n }`,\n `#${tableId}[data-horizontally-scrolled=\"true\"] [role=\"row\"] > :nth-child(${frozenColumnIndex + 1}) {\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), 6px 0px 6px rgb(0 0 0/8%), 1px 0px 0px #DDDDDD;\n }`,\n ];\n\n const columnId = visibleFrozenColumns[frozenColumnIndex]?.id;\n\n // frozenColumnIndex could not be in the visible frozen column so it is important to check if columnId\n // exists before checking if it is internal.\n //\n // only add a border to the edge column if it isn't an internal column\n if (columnId && !isInternalColumn(columnId)) {\n styles.push(`#${tableId}[data-horizontally-scrolled=\"false\"] [role=\"row\"] > :nth-child(${frozenColumnIndex + 1}) {\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), 1px 0px 0px #DDDDDD;\n }`);\n }\n\n return styles.join('\\n');\n }\n\n return undefined;\n }, [columnOrder, columnSizing, columnSizingInfo, columnVisibility, tableMeta.columnFreezing.isEnabled, frozenColumnIndex]);\n\n return style;\n}\n"],"names":["getFrozenInternalColumnCount","options","index","enableRowDrag","enableRowSelection","enableRowExpansion","useColumnFreezing","defaultFrozenIndex","frozenColumnIndex","_setFrozenColumnIndex","React","useState","horizontallyScrolled","setHorizontallyScrolled","onScroll","event","currentTarget","scrollLeft","frozenInternalColumnCount","useMemo","setFrozenColumnIndex","isEnabled","enableColumnFreezing","handleScroll","useColumnFreezingStyle","tableId","table","columnOrder","columnSizing","columnSizingInfo","columnVisibility","getState","tableMeta","meta","columnFreezing","_tableMeta$columnFree","style","undefined","_visibleFrozenColumns","visibleFrozenColumns","getVisibleLeafColumns","slice","every","column","id","offsets","reduce","offset","columnId","isInternalColumn","getSize","styles","Object","values","map","join","push"],"mappings":"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"}
1
+ {"version":3,"file":"useColumnFreezing.js","sources":["../../../../../../../../../src/components/Table3/hooks/features/useColumnFreezing.ts"],"sourcesContent":["import { Table, TableMeta } from '@tanstack/react-table';\nimport React from 'react';\nimport { Table3Options } from '../../types';\nimport { isInternalColumn } from '../../util/columns';\n\nexport function getFrozenInternalColumnCount(options: Table3Options) {\n let index = 0;\n\n if (options.enableRowDrag) {\n index++;\n }\n\n if (options.enableRowSelection) {\n index++;\n }\n\n if (options.enableRowExpansion) {\n index++;\n }\n\n return index;\n}\n\n/*\nBecause of the desired behaviour of column freezing we use custom state and just an index.\nIf a frozen column is, for example, hidden, then the desired behaviour is that the next available column gets frozen.\nIf this behaviour were different we would just use the native column pinning functionality\n*/\nexport function useColumnFreezing(defaultFrozenIndex: number | undefined, options: Table3Options) {\n const [frozenColumnIndex, _setFrozenColumnIndex] = React.useState<number | undefined>(() => defaultFrozenIndex);\n const [horizontallyScrolled, setHorizontallyScrolled] = React.useState(false);\n\n const onScroll = (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.currentTarget.scrollLeft > 0 && !horizontallyScrolled) {\n setHorizontallyScrolled(true);\n } else if (event.currentTarget.scrollLeft === 0 && horizontallyScrolled) {\n setHorizontallyScrolled(false);\n }\n };\n\n const frozenInternalColumnCount = React.useMemo(() => getFrozenInternalColumnCount(options), []);\n\n // we must set a value when undefined is explicitly set, otherwise nothing is saved to settings\n // and the next time the table loads it will fall back to the initial value even though the user changed it\n const setFrozenColumnIndex = (index: number | undefined) => _setFrozenColumnIndex(index ?? -1);\n\n return {\n isEnabled: options.enableColumnFreezing,\n frozenInternalColumnCount,\n frozenColumnIndex,\n setFrozenColumnIndex,\n horizontallyScrolled,\n handleScroll: onScroll,\n };\n}\n\nexport function useColumnFreezingStyle<TType = unknown>(tableId: string, table: Table<TType>) {\n const { columnOrder, columnSizing, columnSizingInfo, columnVisibility } = table.getState();\n const tableMeta = table.options.meta as TableMeta<TType>;\n const frozenColumnIndex =\n // If column freezing is not enabled then only internal frozen column should be frozen.\n (tableMeta.columnFreezing.isEnabled ? tableMeta.columnFreezing.frozenColumnIndex ?? -1 : -1) +\n tableMeta.columnFreezing.frozenInternalColumnCount;\n\n const style = React.useMemo(() => {\n if (\n tableMeta.columnFreezing.frozenInternalColumnCount > 0 ||\n (tableMeta.columnFreezing.isEnabled && frozenColumnIndex !== undefined)\n ) {\n const visibleFrozenColumns = table.getVisibleLeafColumns().slice(0, frozenColumnIndex + 1);\n\n const visibleExternalFrozenColumns = visibleFrozenColumns.filter(column => !isInternalColumn(column.id));\n\n // if all external frozen columns haven't had their size set yet, then abort\n if (\n visibleExternalFrozenColumns.length &&\n visibleExternalFrozenColumns.every(column => columnSizing[column.id] === undefined)\n ) {\n return undefined;\n }\n\n const offsets = {};\n\n visibleFrozenColumns.reduce((offset, column) => {\n const columnId = column.id;\n\n offsets[columnId] = offset;\n\n if (isInternalColumn(columnId)) {\n // getSize method is used instead of columnSizing state because columnSizing state doesn't have\n // sizes of internal columns.\n return offset + column.getSize();\n }\n\n return offset + columnSizing[columnId];\n }, 0);\n\n const styles = [\n Object.values(offsets)\n .map((offset, index) => `#${tableId} [role=\"row\"] > :nth-child(${index + 1}) { left: ${offset}px }`)\n .join('\\n'),\n `#${tableId} [role=\"row\"] > :not(:nth-child(n+${frozenColumnIndex + 2})) {\n position: sticky;\n z-index: 20;\n }`,\n `#${tableId}[data-horizontally-scrolled=\"true\"] [role=\"row\"] > :nth-child(${frozenColumnIndex + 1}) {\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), 6px 0px 6px rgb(0 0 0/8%), 1px 0px 0px #DDDDDD;\n }`,\n ];\n\n const columnId = visibleFrozenColumns[frozenColumnIndex]?.id;\n\n // frozenColumnIndex could not be in the visible frozen column so it is important to check if columnId\n // exists before checking if it is internal.\n //\n // only add a border to the edge column if it isn't an internal column\n if (columnId && !isInternalColumn(columnId)) {\n styles.push(`#${tableId}[data-horizontally-scrolled=\"false\"] [role=\"row\"] > :nth-child(${frozenColumnIndex + 1}) {\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), 1px 0px 0px #DDDDDD;\n }`);\n }\n\n return styles.join('\\n');\n }\n\n return undefined;\n }, [columnOrder, columnSizing, columnSizingInfo, columnVisibility, tableMeta.columnFreezing.isEnabled, frozenColumnIndex]);\n\n return style;\n}\n"],"names":["getFrozenInternalColumnCount","options","index","enableRowDrag","enableRowSelection","enableRowExpansion","useColumnFreezing","defaultFrozenIndex","frozenColumnIndex","_setFrozenColumnIndex","React","useState","horizontallyScrolled","setHorizontallyScrolled","onScroll","event","currentTarget","scrollLeft","frozenInternalColumnCount","useMemo","setFrozenColumnIndex","isEnabled","enableColumnFreezing","handleScroll","useColumnFreezingStyle","tableId","table","columnOrder","columnSizing","columnSizingInfo","columnVisibility","getState","tableMeta","meta","columnFreezing","_tableMeta$columnFree","style","undefined","_visibleFrozenColumns","visibleFrozenColumns","getVisibleLeafColumns","slice","visibleExternalFrozenColumns","filter","column","isInternalColumn","id","length","every","offsets","reduce","offset","columnId","getSize","styles","Object","values","map","join","push"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React__default from 'react';
2
2
 
3
- function useCurrentRow(defaultCurrentRowIndex = 0) {
3
+ function useCurrentRow(defaultCurrentRowIndex) {
4
4
  const [currentRowIndex, setCurrentRowIndex] = React__default.useState(defaultCurrentRowIndex);
5
5
  const move = (direction, length, scrollToIndex) => setCurrentRowIndex(currentIndex => {
6
6
  const nextIndex = currentIndex !== undefined ? getNextIndex(direction, currentIndex, length) : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"useCurrentRow.js","sources":["../../../../../../../../../src/components/Table3/hooks/features/useCurrentRow.ts"],"sourcesContent":["import React from 'react';\nimport { TableStrategy } from '../../types';\n\ntype CurrentRowHandlerCallback = TableStrategy['scrollToIndex'];\n\nexport function useCurrentRow(defaultCurrentRowIndex: number | undefined = 0) {\n const [currentRowIndex, setCurrentRowIndex] = React.useState<number>(defaultCurrentRowIndex);\n\n const move = (direction: -1 | 1, length: number, scrollToIndex: CurrentRowHandlerCallback) =>\n setCurrentRowIndex(currentIndex => {\n const nextIndex = currentIndex !== undefined ? getNextIndex(direction, currentIndex, length) : 0;\n scrollToIndex(direction === -1 ? nextIndex : nextIndex + 3);\n return nextIndex;\n });\n const moveUp = (length: number, callback: CurrentRowHandlerCallback) => move(-1, length, callback);\n const moveDown = (length: number, callback: CurrentRowHandlerCallback) => move(1, length, callback);\n\n const onKeyDown = React.useCallback((event: KeyboardEvent, length: number, scrollToIndex: CurrentRowHandlerCallback) => {\n if (event.defaultPrevented) {\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n const newIndex = 0;\n setCurrentRowIndex(newIndex);\n scrollToIndex(newIndex);\n } else {\n moveUp(length, scrollToIndex);\n }\n\n return;\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n const newIndex = length - 1;\n setCurrentRowIndex(newIndex);\n scrollToIndex(newIndex);\n } else {\n moveDown(length, scrollToIndex);\n }\n\n return;\n }\n }, []);\n\n return {\n currentRowIndex,\n setCurrentRowIndex,\n handleKeyDown: onKeyDown,\n };\n}\n\nconst getNextIndex = (direction: -1 | 1, currentIndex: number, length: number) => {\n if (direction === -1) {\n return currentIndex - 1 > 0 ? currentIndex - 1 : 0;\n }\n\n return currentIndex + 1 < length ? currentIndex + 1 : currentIndex;\n};\n"],"names":["useCurrentRow","defaultCurrentRowIndex","currentRowIndex","setCurrentRowIndex","React","useState","move","direction","length","scrollToIndex","currentIndex","nextIndex","undefined","getNextIndex","moveUp","callback","moveDown","onKeyDown","useCallback","event","defaultPrevented","key","preventDefault","ctrlKey","metaKey","newIndex","handleKeyDown"],"mappings":";;SAKgBA,aAAaA,CAACC,yBAA6C,CAAC;EACxE,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAASJ,sBAAsB,CAAC;EAE5F,MAAMK,IAAI,GAAGA,CAACC,SAAiB,EAAEC,MAAc,EAAEC,aAAwC,KACrFN,kBAAkB,CAACO,YAAY;IAC3B,MAAMC,SAAS,GAAGD,YAAY,KAAKE,SAAS,GAAGC,YAAY,CAACN,SAAS,EAAEG,YAAY,EAAEF,MAAM,CAAC,GAAG,CAAC;IAChGC,aAAa,CAACF,SAAS,KAAK,CAAC,CAAC,GAAGI,SAAS,GAAGA,SAAS,GAAG,CAAC,CAAC;IAC3D,OAAOA,SAAS;GACnB,CAAC;EACN,MAAMG,MAAM,GAAGA,CAACN,MAAc,EAAEO,QAAmC,KAAKT,IAAI,CAAC,CAAC,CAAC,EAAEE,MAAM,EAAEO,QAAQ,CAAC;EAClG,MAAMC,QAAQ,GAAGA,CAACR,MAAc,EAAEO,QAAmC,KAAKT,IAAI,CAAC,CAAC,EAAEE,MAAM,EAAEO,QAAQ,CAAC;EAEnG,MAAME,SAAS,GAAGb,cAAK,CAACc,WAAW,CAAC,CAACC,KAAoB,EAAEX,MAAc,EAAEC,aAAwC;IAC/G,IAAIU,KAAK,CAACC,gBAAgB,EAAE;MACxB;;IAGJ,IAAID,KAAK,CAACE,GAAG,KAAK,SAAS,EAAE;MACzBF,KAAK,CAACG,cAAc,EAAE;MAEtB,IAAIH,KAAK,CAACI,OAAO,IAAIJ,KAAK,CAACK,OAAO,EAAE;QAChC,MAAMC,QAAQ,GAAG,CAAC;QAClBtB,kBAAkB,CAACsB,QAAQ,CAAC;QAC5BhB,aAAa,CAACgB,QAAQ,CAAC;OAC1B,MAAM;QACHX,MAAM,CAACN,MAAM,EAAEC,aAAa,CAAC;;MAGjC;KACH,MAAM,IAAIU,KAAK,CAACE,GAAG,KAAK,WAAW,EAAE;MAClCF,KAAK,CAACG,cAAc,EAAE;MAEtB,IAAIH,KAAK,CAACI,OAAO,IAAIJ,KAAK,CAACK,OAAO,EAAE;QAChC,MAAMC,QAAQ,GAAGjB,MAAM,GAAG,CAAC;QAC3BL,kBAAkB,CAACsB,QAAQ,CAAC;QAC5BhB,aAAa,CAACgB,QAAQ,CAAC;OAC1B,MAAM;QACHT,QAAQ,CAACR,MAAM,EAAEC,aAAa,CAAC;;MAGnC;;GAEP,EAAE,EAAE,CAAC;EAEN,OAAO;IACHP,eAAe;IACfC,kBAAkB;IAClBuB,aAAa,EAAET;GAClB;AACL;AAEA,MAAMJ,YAAY,GAAGA,CAACN,SAAiB,EAAEG,YAAoB,EAAEF,MAAc;EACzE,IAAID,SAAS,KAAK,CAAC,CAAC,EAAE;IAClB,OAAOG,YAAY,GAAG,CAAC,GAAG,CAAC,GAAGA,YAAY,GAAG,CAAC,GAAG,CAAC;;EAGtD,OAAOA,YAAY,GAAG,CAAC,GAAGF,MAAM,GAAGE,YAAY,GAAG,CAAC,GAAGA,YAAY;AACtE,CAAC;;;;"}
1
+ {"version":3,"file":"useCurrentRow.js","sources":["../../../../../../../../../src/components/Table3/hooks/features/useCurrentRow.ts"],"sourcesContent":["import React from 'react';\nimport { TableStrategy } from '../../types';\n\ntype CurrentRowHandlerCallback = TableStrategy['scrollToIndex'];\n\nexport function useCurrentRow(defaultCurrentRowIndex: number | undefined) {\n const [currentRowIndex, setCurrentRowIndex] = React.useState<number | undefined>(defaultCurrentRowIndex);\n\n const move = (direction: -1 | 1, length: number, scrollToIndex: CurrentRowHandlerCallback) =>\n setCurrentRowIndex(currentIndex => {\n const nextIndex = currentIndex !== undefined ? getNextIndex(direction, currentIndex, length) : 0;\n scrollToIndex(direction === -1 ? nextIndex : nextIndex + 3);\n return nextIndex;\n });\n const moveUp = (length: number, callback: CurrentRowHandlerCallback) => move(-1, length, callback);\n const moveDown = (length: number, callback: CurrentRowHandlerCallback) => move(1, length, callback);\n\n const onKeyDown = React.useCallback((event: KeyboardEvent, length: number, scrollToIndex: CurrentRowHandlerCallback) => {\n if (event.defaultPrevented) {\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n const newIndex = 0;\n setCurrentRowIndex(newIndex);\n scrollToIndex(newIndex);\n } else {\n moveUp(length, scrollToIndex);\n }\n\n return;\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n\n if (event.ctrlKey || event.metaKey) {\n const newIndex = length - 1;\n setCurrentRowIndex(newIndex);\n scrollToIndex(newIndex);\n } else {\n moveDown(length, scrollToIndex);\n }\n\n return;\n }\n }, []);\n\n return {\n currentRowIndex,\n setCurrentRowIndex,\n handleKeyDown: onKeyDown,\n };\n}\n\nconst getNextIndex = (direction: -1 | 1, currentIndex: number, length: number) => {\n if (direction === -1) {\n return currentIndex - 1 > 0 ? currentIndex - 1 : 0;\n }\n\n return currentIndex + 1 < length ? currentIndex + 1 : currentIndex;\n};\n"],"names":["useCurrentRow","defaultCurrentRowIndex","currentRowIndex","setCurrentRowIndex","React","useState","move","direction","length","scrollToIndex","currentIndex","nextIndex","undefined","getNextIndex","moveUp","callback","moveDown","onKeyDown","useCallback","event","defaultPrevented","key","preventDefault","ctrlKey","metaKey","newIndex","handleKeyDown"],"mappings":";;SAKgBA,aAAaA,CAACC,sBAA0C;EACpE,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAqBJ,sBAAsB,CAAC;EAExG,MAAMK,IAAI,GAAGA,CAACC,SAAiB,EAAEC,MAAc,EAAEC,aAAwC,KACrFN,kBAAkB,CAACO,YAAY;IAC3B,MAAMC,SAAS,GAAGD,YAAY,KAAKE,SAAS,GAAGC,YAAY,CAACN,SAAS,EAAEG,YAAY,EAAEF,MAAM,CAAC,GAAG,CAAC;IAChGC,aAAa,CAACF,SAAS,KAAK,CAAC,CAAC,GAAGI,SAAS,GAAGA,SAAS,GAAG,CAAC,CAAC;IAC3D,OAAOA,SAAS;GACnB,CAAC;EACN,MAAMG,MAAM,GAAGA,CAACN,MAAc,EAAEO,QAAmC,KAAKT,IAAI,CAAC,CAAC,CAAC,EAAEE,MAAM,EAAEO,QAAQ,CAAC;EAClG,MAAMC,QAAQ,GAAGA,CAACR,MAAc,EAAEO,QAAmC,KAAKT,IAAI,CAAC,CAAC,EAAEE,MAAM,EAAEO,QAAQ,CAAC;EAEnG,MAAME,SAAS,GAAGb,cAAK,CAACc,WAAW,CAAC,CAACC,KAAoB,EAAEX,MAAc,EAAEC,aAAwC;IAC/G,IAAIU,KAAK,CAACC,gBAAgB,EAAE;MACxB;;IAGJ,IAAID,KAAK,CAACE,GAAG,KAAK,SAAS,EAAE;MACzBF,KAAK,CAACG,cAAc,EAAE;MAEtB,IAAIH,KAAK,CAACI,OAAO,IAAIJ,KAAK,CAACK,OAAO,EAAE;QAChC,MAAMC,QAAQ,GAAG,CAAC;QAClBtB,kBAAkB,CAACsB,QAAQ,CAAC;QAC5BhB,aAAa,CAACgB,QAAQ,CAAC;OAC1B,MAAM;QACHX,MAAM,CAACN,MAAM,EAAEC,aAAa,CAAC;;MAGjC;KACH,MAAM,IAAIU,KAAK,CAACE,GAAG,KAAK,WAAW,EAAE;MAClCF,KAAK,CAACG,cAAc,EAAE;MAEtB,IAAIH,KAAK,CAACI,OAAO,IAAIJ,KAAK,CAACK,OAAO,EAAE;QAChC,MAAMC,QAAQ,GAAGjB,MAAM,GAAG,CAAC;QAC3BL,kBAAkB,CAACsB,QAAQ,CAAC;QAC5BhB,aAAa,CAACgB,QAAQ,CAAC;OAC1B,MAAM;QACHT,QAAQ,CAACR,MAAM,EAAEC,aAAa,CAAC;;MAGnC;;GAEP,EAAE,EAAE,CAAC;EAEN,OAAO;IACHP,eAAe;IACfC,kBAAkB;IAClBuB,aAAa,EAAET;GAClB;AACL;AAEA,MAAMJ,YAAY,GAAGA,CAACN,SAAiB,EAAEG,YAAoB,EAAEF,MAAc;EACzE,IAAID,SAAS,KAAK,CAAC,CAAC,EAAE;IAClB,OAAOG,YAAY,GAAG,CAAC,GAAG,CAAC,GAAGA,YAAY,GAAG,CAAC,GAAG,CAAC;;EAGtD,OAAOA,YAAY,GAAG,CAAC,GAAGF,MAAM,GAAGE,YAAY,GAAG,CAAC,GAAGA,YAAY;AACtE,CAAC;;;;"}
@@ -9,7 +9,7 @@ function useRowClick(onRowClick) {
9
9
  const tableMeta = table.options.meta;
10
10
  if (event.key === 'Enter') {
11
11
  event.preventDefault();
12
- if (onRowClick) {
12
+ if (onRowClick && tableMeta.currentRow.currentRowIndex !== undefined) {
13
13
  onRowClick(rows[tableMeta.currentRow.currentRowIndex].original);
14
14
  }
15
15
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"useRowClick.js","sources":["../../../../../../../../../src/components/Table3/hooks/features/useRowClick.ts"],"sourcesContent":["import React from 'react';\nimport { Table3RowClickHandler } from '../../types';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\n\nexport function useRowClick<TType = unknown>(onRowClick?: Table3RowClickHandler<TType>) {\n const onKeyDown = React.useCallback(\n (event: KeyboardEvent, table: RTable<TType>) => {\n if (typeof onRowClick !== 'function' || event.defaultPrevented) {\n return;\n }\n\n const rows = table.getRowModel().rows;\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n if (event.key === 'Enter') {\n event.preventDefault();\n\n if (onRowClick) {\n onRowClick(rows[tableMeta.currentRow.currentRowIndex].original as TType);\n }\n\n return;\n }\n },\n [onRowClick]\n ) as <TType = unknown>(event: KeyboardEvent, table: RTable<TType>) => void;\n\n return {\n handleKeyDown: onKeyDown,\n handleClick: onRowClick,\n };\n}\n"],"names":["useRowClick","onRowClick","onKeyDown","React","useCallback","event","table","defaultPrevented","rows","getRowModel","tableMeta","options","meta","key","preventDefault","currentRow","currentRowIndex","original","handleKeyDown","handleClick"],"mappings":";;SAIgBA,WAAWA,CAAkBC,UAAyC;EAClF,MAAMC,SAAS,GAAGC,cAAK,CAACC,WAAW,CAC/B,CAACC,KAAoB,EAAEC,KAAoB;IACvC,IAAI,OAAOL,UAAU,KAAK,UAAU,IAAII,KAAK,CAACE,gBAAgB,EAAE;MAC5D;;IAGJ,MAAMC,IAAI,GAAGF,KAAK,CAACG,WAAW,EAAE,CAACD,IAAI;IACrC,MAAME,SAAS,GAAGJ,KAAK,CAACK,OAAO,CAACC,IAAwB;IAExD,IAAIP,KAAK,CAACQ,GAAG,KAAK,OAAO,EAAE;MACvBR,KAAK,CAACS,cAAc,EAAE;MAEtB,IAAIb,UAAU,EAAE;QACZA,UAAU,CAACO,IAAI,CAACE,SAAS,CAACK,UAAU,CAACC,eAAe,CAAC,CAACC,QAAiB,CAAC;;MAG5E;;GAEP,EACD,CAAChB,UAAU,CAAC,CAC0D;EAE1E,OAAO;IACHiB,aAAa,EAAEhB,SAAS;IACxBiB,WAAW,EAAElB;GAChB;AACL;;;;"}
1
+ {"version":3,"file":"useRowClick.js","sources":["../../../../../../../../../src/components/Table3/hooks/features/useRowClick.ts"],"sourcesContent":["import React from 'react';\nimport { Table3RowClickHandler } from '../../types';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\n\nexport function useRowClick<TType = unknown>(onRowClick?: Table3RowClickHandler<TType>) {\n const onKeyDown = React.useCallback(\n (event: KeyboardEvent, table: RTable<TType>) => {\n if (typeof onRowClick !== 'function' || event.defaultPrevented) {\n return;\n }\n\n const rows = table.getRowModel().rows;\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n if (event.key === 'Enter') {\n event.preventDefault();\n\n if (onRowClick && tableMeta.currentRow.currentRowIndex !== undefined) {\n onRowClick(rows[tableMeta.currentRow.currentRowIndex].original as TType);\n }\n\n return;\n }\n },\n [onRowClick]\n ) as <TType = unknown>(event: KeyboardEvent, table: RTable<TType>) => void;\n\n return {\n handleKeyDown: onKeyDown,\n handleClick: onRowClick,\n };\n}\n"],"names":["useRowClick","onRowClick","onKeyDown","React","useCallback","event","table","defaultPrevented","rows","getRowModel","tableMeta","options","meta","key","preventDefault","currentRow","currentRowIndex","undefined","original","handleKeyDown","handleClick"],"mappings":";;SAIgBA,WAAWA,CAAkBC,UAAyC;EAClF,MAAMC,SAAS,GAAGC,cAAK,CAACC,WAAW,CAC/B,CAACC,KAAoB,EAAEC,KAAoB;IACvC,IAAI,OAAOL,UAAU,KAAK,UAAU,IAAII,KAAK,CAACE,gBAAgB,EAAE;MAC5D;;IAGJ,MAAMC,IAAI,GAAGF,KAAK,CAACG,WAAW,EAAE,CAACD,IAAI;IACrC,MAAME,SAAS,GAAGJ,KAAK,CAACK,OAAO,CAACC,IAAwB;IAExD,IAAIP,KAAK,CAACQ,GAAG,KAAK,OAAO,EAAE;MACvBR,KAAK,CAACS,cAAc,EAAE;MAEtB,IAAIb,UAAU,IAAIS,SAAS,CAACK,UAAU,CAACC,eAAe,KAAKC,SAAS,EAAE;QAClEhB,UAAU,CAACO,IAAI,CAACE,SAAS,CAACK,UAAU,CAACC,eAAe,CAAC,CAACE,QAAiB,CAAC;;MAG5E;;GAEP,EACD,CAACjB,UAAU,CAAC,CAC0D;EAE1E,OAAO;IACHkB,aAAa,EAAEjB,SAAS;IACxBkB,WAAW,EAAEnB;GAChB;AACL;;;;"}
@@ -9,9 +9,12 @@ function useRowSelection() {
9
9
  const rows = table.getRowModel().rows;
10
10
  const tableMeta = table.options.meta;
11
11
  if (event.key === ' ') {
12
- var _rows$tableMeta$curre;
13
12
  event.preventDefault();
14
- (_rows$tableMeta$curre = rows[tableMeta.currentRow.currentRowIndex]) === null || _rows$tableMeta$curre === void 0 ? void 0 : _rows$tableMeta$curre.toggleSelected();
13
+ const currentRowIndex = tableMeta.currentRow.currentRowIndex;
14
+ if (currentRowIndex !== undefined) {
15
+ var _rows$currentRowIndex;
16
+ (_rows$currentRowIndex = rows[currentRowIndex]) === null || _rows$currentRowIndex === void 0 ? void 0 : _rows$currentRowIndex.toggleSelected();
17
+ }
15
18
  return;
16
19
  } else if ((event.ctrlKey || event.metaKey) && event.key === 'a') {
17
20
  event.preventDefault();
@@ -1 +1 @@
1
- {"version":3,"file":"useRowSelection.js","sources":["../../../../../../../../../src/components/Table3/hooks/features/useRowSelection.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\n\nexport function useRowSelection() {\n const lastSelectedRowIndex = React.useRef<number>();\n\n const onKeyDown = React.useCallback(<TType = unknown>(event: KeyboardEvent, table: RTable<TType>) => {\n if (!table.options.enableRowSelection || event.defaultPrevented) {\n return;\n }\n\n const rows = table.getRowModel().rows;\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n if (event.key === ' ') {\n event.preventDefault();\n rows[tableMeta.currentRow.currentRowIndex]?.toggleSelected();\n return;\n } else if ((event.ctrlKey || event.metaKey) && event.key === 'a') {\n event.preventDefault();\n table.toggleAllRowsSelected();\n return;\n }\n }, []) as <TType = unknown>(event: KeyboardEvent, table: RTable<TType>) => void;\n\n return {\n handleKeyDown: onKeyDown,\n lastSelectedRowIndex,\n };\n}\n"],"names":["useRowSelection","lastSelectedRowIndex","React","useRef","onKeyDown","useCallback","event","table","options","enableRowSelection","defaultPrevented","rows","getRowModel","tableMeta","meta","key","_rows$tableMeta$curre","preventDefault","currentRow","currentRowIndex","toggleSelected","ctrlKey","metaKey","toggleAllRowsSelected","handleKeyDown"],"mappings":";;SAGgBA,eAAeA;EAC3B,MAAMC,oBAAoB,GAAGC,cAAK,CAACC,MAAM,EAAU;EAEnD,MAAMC,SAAS,GAAGF,cAAK,CAACG,WAAW,CAAC,CAAkBC,KAAoB,EAAEC,KAAoB;IAC5F,IAAI,CAACA,KAAK,CAACC,OAAO,CAACC,kBAAkB,IAAIH,KAAK,CAACI,gBAAgB,EAAE;MAC7D;;IAGJ,MAAMC,IAAI,GAAGJ,KAAK,CAACK,WAAW,EAAE,CAACD,IAAI;IACrC,MAAME,SAAS,GAAGN,KAAK,CAACC,OAAO,CAACM,IAAwB;IAExD,IAAIR,KAAK,CAACS,GAAG,KAAK,GAAG,EAAE;MAAA,IAAAC,qBAAA;MACnBV,KAAK,CAACW,cAAc,EAAE;MACtB,CAAAD,qBAAA,GAAAL,IAAI,CAACE,SAAS,CAACK,UAAU,CAACC,eAAe,CAAC,cAAAH,qBAAA,uBAA1CA,qBAAA,CAA4CI,cAAc,EAAE;MAC5D;KACH,MAAM,IAAI,CAACd,KAAK,CAACe,OAAO,IAAIf,KAAK,CAACgB,OAAO,KAAKhB,KAAK,CAACS,GAAG,KAAK,GAAG,EAAE;MAC9DT,KAAK,CAACW,cAAc,EAAE;MACtBV,KAAK,CAACgB,qBAAqB,EAAE;MAC7B;;GAEP,EAAE,EAAE,CAA0E;EAE/E,OAAO;IACHC,aAAa,EAAEpB,SAAS;IACxBH;GACH;AACL;;;;"}
1
+ {"version":3,"file":"useRowSelection.js","sources":["../../../../../../../../../src/components/Table3/hooks/features/useRowSelection.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\n\nexport function useRowSelection() {\n const lastSelectedRowIndex = React.useRef<number>();\n\n const onKeyDown = React.useCallback(<TType = unknown>(event: KeyboardEvent, table: RTable<TType>) => {\n if (!table.options.enableRowSelection || event.defaultPrevented) {\n return;\n }\n\n const rows = table.getRowModel().rows;\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n if (event.key === ' ') {\n event.preventDefault();\n const currentRowIndex = tableMeta.currentRow.currentRowIndex;\n if (currentRowIndex !== undefined) {\n rows[currentRowIndex]?.toggleSelected();\n }\n return;\n } else if ((event.ctrlKey || event.metaKey) && event.key === 'a') {\n event.preventDefault();\n table.toggleAllRowsSelected();\n return;\n }\n }, []) as <TType = unknown>(event: KeyboardEvent, table: RTable<TType>) => void;\n\n return {\n handleKeyDown: onKeyDown,\n lastSelectedRowIndex,\n };\n}\n"],"names":["useRowSelection","lastSelectedRowIndex","React","useRef","onKeyDown","useCallback","event","table","options","enableRowSelection","defaultPrevented","rows","getRowModel","tableMeta","meta","key","preventDefault","currentRowIndex","currentRow","undefined","_rows$currentRowIndex","toggleSelected","ctrlKey","metaKey","toggleAllRowsSelected","handleKeyDown"],"mappings":";;SAGgBA,eAAeA;EAC3B,MAAMC,oBAAoB,GAAGC,cAAK,CAACC,MAAM,EAAU;EAEnD,MAAMC,SAAS,GAAGF,cAAK,CAACG,WAAW,CAAC,CAAkBC,KAAoB,EAAEC,KAAoB;IAC5F,IAAI,CAACA,KAAK,CAACC,OAAO,CAACC,kBAAkB,IAAIH,KAAK,CAACI,gBAAgB,EAAE;MAC7D;;IAGJ,MAAMC,IAAI,GAAGJ,KAAK,CAACK,WAAW,EAAE,CAACD,IAAI;IACrC,MAAME,SAAS,GAAGN,KAAK,CAACC,OAAO,CAACM,IAAwB;IAExD,IAAIR,KAAK,CAACS,GAAG,KAAK,GAAG,EAAE;MACnBT,KAAK,CAACU,cAAc,EAAE;MACtB,MAAMC,eAAe,GAAGJ,SAAS,CAACK,UAAU,CAACD,eAAe;MAC5D,IAAIA,eAAe,KAAKE,SAAS,EAAE;QAAA,IAAAC,qBAAA;QAC/B,CAAAA,qBAAA,GAAAT,IAAI,CAACM,eAAe,CAAC,cAAAG,qBAAA,uBAArBA,qBAAA,CAAuBC,cAAc,EAAE;;MAE3C;KACH,MAAM,IAAI,CAACf,KAAK,CAACgB,OAAO,IAAIhB,KAAK,CAACiB,OAAO,KAAKjB,KAAK,CAACS,GAAG,KAAK,GAAG,EAAE;MAC9DT,KAAK,CAACU,cAAc,EAAE;MACtBT,KAAK,CAACiB,qBAAqB,EAAE;MAC7B;;GAEP,EAAE,EAAE,CAA0E;EAE/E,OAAO;IACHC,aAAa,EAAErB,SAAS;IACxBH;GACH;AACL;;;;"}
@@ -4,7 +4,8 @@ function useCurrentRowListener(table) {
4
4
  const meta = table.options.meta;
5
5
  const rows = table.getRowModel().rows;
6
6
  React__default.useEffect(() => {
7
- if (meta.currentRow.currentRowIndex > rows.length) {
7
+ const currentRowIndex = meta.currentRow.currentRowIndex;
8
+ if (currentRowIndex !== undefined && currentRowIndex > rows.length) {
8
9
  meta.currentRow.setCurrentRowIndex(0);
9
10
  }
10
11
  }, [rows.length]);
@@ -1 +1 @@
1
- {"version":3,"file":"useCurrentRowListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useCurrentRowListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\n\nexport function useCurrentRowListener<TType = unknown>(table: RTable<TType>) {\n const meta = table.options.meta as TableMeta<TType>;\n const rows = table.getRowModel().rows;\n\n React.useEffect(() => {\n if (meta.currentRow.currentRowIndex > rows.length) {\n meta.currentRow.setCurrentRowIndex(0);\n }\n }, [rows.length]);\n}\n"],"names":["useCurrentRowListener","table","meta","options","rows","getRowModel","React","useEffect","currentRow","currentRowIndex","length","setCurrentRowIndex"],"mappings":";;SAGgBA,qBAAqBA,CAAkBC,KAAoB;EACvE,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAAwB;EACnD,MAAME,IAAI,GAAGH,KAAK,CAACI,WAAW,EAAE,CAACD,IAAI;EAErCE,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIL,IAAI,CAACM,UAAU,CAACC,eAAe,GAAGL,IAAI,CAACM,MAAM,EAAE;MAC/CR,IAAI,CAACM,UAAU,CAACG,kBAAkB,CAAC,CAAC,CAAC;;GAE5C,EAAE,CAACP,IAAI,CAACM,MAAM,CAAC,CAAC;AACrB;;;;"}
1
+ {"version":3,"file":"useCurrentRowListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useCurrentRowListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\n\nexport function useCurrentRowListener<TType = unknown>(table: RTable<TType>) {\n const meta = table.options.meta as TableMeta<TType>;\n const rows = table.getRowModel().rows;\n\n React.useEffect(() => {\n const currentRowIndex = meta.currentRow.currentRowIndex;\n if (currentRowIndex !== undefined && currentRowIndex > rows.length) {\n meta.currentRow.setCurrentRowIndex(0);\n }\n }, [rows.length]);\n}\n"],"names":["useCurrentRowListener","table","meta","options","rows","getRowModel","React","useEffect","currentRowIndex","currentRow","undefined","length","setCurrentRowIndex"],"mappings":";;SAGgBA,qBAAqBA,CAAkBC,KAAoB;EACvE,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAAwB;EACnD,MAAME,IAAI,GAAGH,KAAK,CAACI,WAAW,EAAE,CAACD,IAAI;EAErCE,cAAK,CAACC,SAAS,CAAC;IACZ,MAAMC,eAAe,GAAGN,IAAI,CAACO,UAAU,CAACD,eAAe;IACvD,IAAIA,eAAe,KAAKE,SAAS,IAAIF,eAAe,GAAGJ,IAAI,CAACO,MAAM,EAAE;MAChET,IAAI,CAACO,UAAU,CAACG,kBAAkB,CAAC,CAAC,CAAC;;GAE5C,EAAE,CAACR,IAAI,CAACO,MAAM,CAAC,CAAC;AACrB;;;;"}
@@ -12,10 +12,14 @@ function useEditingStateListener(table) {
12
12
  }, [meta.currentRow.currentRowIndex]);
13
13
  // save if editing gets toggled off
14
14
  React__default.useEffect(() => {
15
- if (meta.editing.isEnabled && !meta.editing.isEditing) {
16
- requestAnimationFrame(() => {
17
- meta.editing.saveChangesIfNeeded();
18
- });
15
+ if (meta.editing.isEnabled) {
16
+ if (!meta.editing.isEditing) {
17
+ requestAnimationFrame(() => {
18
+ meta.editing.saveChangesIfNeeded();
19
+ });
20
+ } else if (meta.currentRow.currentRowIndex === undefined) {
21
+ meta.currentRow.setCurrentRowIndex(0);
22
+ }
19
23
  }
20
24
  }, [meta.editing.isEditing]);
21
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useEditingStateListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useEditingStateListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\n\nexport function useEditingStateListener<TType = unknown>(table: RTable<TType>) {\n const meta = table.options.meta as TableMeta<TType>;\n\n // save when the row changes\n React.useEffect(() => {\n if (meta.editing.isEnabled && meta.editing.isEditing) {\n requestAnimationFrame(() => {\n meta.editing.saveChangesIfNeeded();\n });\n }\n }, [meta.currentRow.currentRowIndex]);\n\n // save if editing gets toggled off\n React.useEffect(() => {\n if (meta.editing.isEnabled && !meta.editing.isEditing) {\n requestAnimationFrame(() => {\n meta.editing.saveChangesIfNeeded();\n });\n }\n }, [meta.editing.isEditing]);\n}\n"],"names":["useEditingStateListener","table","meta","options","React","useEffect","editing","isEnabled","isEditing","requestAnimationFrame","saveChangesIfNeeded","currentRow","currentRowIndex"],"mappings":";;SAGgBA,uBAAuBA,CAAkBC,KAAoB;EACzE,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAAwB;;EAGnDE,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIH,IAAI,CAACI,OAAO,CAACC,SAAS,IAAIL,IAAI,CAACI,OAAO,CAACE,SAAS,EAAE;MAClDC,qBAAqB,CAAC;QAClBP,IAAI,CAACI,OAAO,CAACI,mBAAmB,EAAE;OACrC,CAAC;;GAET,EAAE,CAACR,IAAI,CAACS,UAAU,CAACC,eAAe,CAAC,CAAC;;EAGrCR,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIH,IAAI,CAACI,OAAO,CAACC,SAAS,IAAI,CAACL,IAAI,CAACI,OAAO,CAACE,SAAS,EAAE;MACnDC,qBAAqB,CAAC;QAClBP,IAAI,CAACI,OAAO,CAACI,mBAAmB,EAAE;OACrC,CAAC;;GAET,EAAE,CAACR,IAAI,CAACI,OAAO,CAACE,SAAS,CAAC,CAAC;AAChC;;;;"}
1
+ {"version":3,"file":"useEditingStateListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useEditingStateListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\n\nexport function useEditingStateListener<TType = unknown>(table: RTable<TType>) {\n const meta = table.options.meta as TableMeta<TType>;\n\n // save when the row changes\n React.useEffect(() => {\n if (meta.editing.isEnabled && meta.editing.isEditing) {\n requestAnimationFrame(() => {\n meta.editing.saveChangesIfNeeded();\n });\n }\n }, [meta.currentRow.currentRowIndex]);\n\n // save if editing gets toggled off\n React.useEffect(() => {\n if (meta.editing.isEnabled) {\n if (!meta.editing.isEditing) {\n requestAnimationFrame(() => {\n meta.editing.saveChangesIfNeeded();\n });\n } else if (meta.currentRow.currentRowIndex === undefined) {\n meta.currentRow.setCurrentRowIndex(0);\n }\n }\n }, [meta.editing.isEditing]);\n}\n"],"names":["useEditingStateListener","table","meta","options","React","useEffect","editing","isEnabled","isEditing","requestAnimationFrame","saveChangesIfNeeded","currentRow","currentRowIndex","undefined","setCurrentRowIndex"],"mappings":";;SAGgBA,uBAAuBA,CAAkBC,KAAoB;EACzE,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAAwB;;EAGnDE,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIH,IAAI,CAACI,OAAO,CAACC,SAAS,IAAIL,IAAI,CAACI,OAAO,CAACE,SAAS,EAAE;MAClDC,qBAAqB,CAAC;QAClBP,IAAI,CAACI,OAAO,CAACI,mBAAmB,EAAE;OACrC,CAAC;;GAET,EAAE,CAACR,IAAI,CAACS,UAAU,CAACC,eAAe,CAAC,CAAC;;EAGrCR,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIH,IAAI,CAACI,OAAO,CAACC,SAAS,EAAE;MACxB,IAAI,CAACL,IAAI,CAACI,OAAO,CAACE,SAAS,EAAE;QACzBC,qBAAqB,CAAC;UAClBP,IAAI,CAACI,OAAO,CAACI,mBAAmB,EAAE;SACrC,CAAC;OACL,MAAM,IAAIR,IAAI,CAACS,UAAU,CAACC,eAAe,KAAKC,SAAS,EAAE;QACtDX,IAAI,CAACS,UAAU,CAACG,kBAAkB,CAAC,CAAC,CAAC;;;GAGhD,EAAE,CAACZ,IAAI,CAACI,OAAO,CAACE,SAAS,CAAC,CAAC;AAChC;;;;"}
@@ -8,7 +8,7 @@ function useShortcutsListener(table, shortcuts) {
8
8
  const shortcutKeys = Object.keys(shortcuts !== null && shortcuts !== void 0 ? shortcuts : {});
9
9
  const globalHandlers = [];
10
10
  // convert the shortcut into the correct format to register it
11
- if (shortcuts && shortcutKeys.length) {
11
+ if (shortcuts && shortcutKeys.length && meta.currentRow.currentRowIndex !== undefined) {
12
12
  const currentRow = rows[meta.currentRow.currentRowIndex];
13
13
  shortcutKeys.forEach(key => {
14
14
  const handler = shortcuts[key];
@@ -1 +1 @@
1
- {"version":3,"file":"useShortcutsListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useShortcutsListener.ts"],"sourcesContent":["import React from 'react';\nimport { TableMeta, Table as RTable } from '@tanstack/react-table';\nimport { KeyDownHandlerOptions, createShortcutKeyDownHandler } from '../../../../utils/keyboard';\nimport { Table3ShortcutHandlerObject, Table3Shortcuts } from '../../types';\n\nexport function useShortcutsListener<TType = unknown>(table: RTable<TType>, shortcuts: Table3Shortcuts<TType> | undefined) {\n const meta = table.options.meta as TableMeta<TType>;\n const rows = table.getRowModel().rows;\n\n React.useEffect(() => {\n const shortcutKeys = Object.keys(shortcuts ?? {});\n const globalHandlers: Array<(event: KeyboardEvent) => void> = [];\n\n // convert the shortcut into the correct format to register it\n if (shortcuts && shortcutKeys.length) {\n const currentRow = rows[meta.currentRow.currentRowIndex];\n\n shortcutKeys.forEach(key => {\n const handler = shortcuts[key];\n\n let keyDownHandler;\n let keyDownHandlerOptions: KeyDownHandlerOptions;\n\n if (typeof handler === 'function') {\n keyDownHandler = handler;\n keyDownHandlerOptions = {\n key,\n };\n } else {\n const handlerObject = handler as Table3ShortcutHandlerObject<TType>;\n keyDownHandler = handlerObject.handler;\n keyDownHandlerOptions = {\n key,\n meta: handlerObject.meta,\n shift: handlerObject.shift,\n };\n }\n\n globalHandlers.push(\n createShortcutKeyDownHandler(keyDownHandlerOptions, event => {\n event.preventDefault();\n keyDownHandler(currentRow?.original);\n })\n );\n });\n }\n\n globalHandlers.forEach(handler => {\n document.addEventListener('keydown', handler);\n });\n\n return () => {\n globalHandlers.forEach(handler => {\n document.removeEventListener('keydown', handler);\n });\n };\n }, [shortcuts, meta.currentRow.currentRowIndex, rows.length]);\n}\n"],"names":["useShortcutsListener","table","shortcuts","meta","options","rows","getRowModel","React","useEffect","shortcutKeys","Object","keys","globalHandlers","length","currentRow","currentRowIndex","forEach","key","handler","keyDownHandler","keyDownHandlerOptions","handlerObject","shift","push","createShortcutKeyDownHandler","event","preventDefault","original","document","addEventListener","removeEventListener"],"mappings":";;;SAKgBA,oBAAoBA,CAAkBC,KAAoB,EAAEC,SAA6C;EACrH,MAAMC,IAAI,GAAGF,KAAK,CAACG,OAAO,CAACD,IAAwB;EACnD,MAAME,IAAI,GAAGJ,KAAK,CAACK,WAAW,EAAE,CAACD,IAAI;EAErCE,cAAK,CAACC,SAAS,CAAC;IACZ,MAAMC,YAAY,GAAGC,MAAM,CAACC,IAAI,CAACT,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,EAAE,CAAC;IACjD,MAAMU,cAAc,GAA0C,EAAE;;IAGhE,IAAIV,SAAS,IAAIO,YAAY,CAACI,MAAM,EAAE;MAClC,MAAMC,UAAU,GAAGT,IAAI,CAACF,IAAI,CAACW,UAAU,CAACC,eAAe,CAAC;MAExDN,YAAY,CAACO,OAAO,CAACC,GAAG;QACpB,MAAMC,OAAO,GAAGhB,SAAS,CAACe,GAAG,CAAC;QAE9B,IAAIE,cAAc;QAClB,IAAIC,qBAA4C;QAEhD,IAAI,OAAOF,OAAO,KAAK,UAAU,EAAE;UAC/BC,cAAc,GAAGD,OAAO;UACxBE,qBAAqB,GAAG;YACpBH;WACH;SACJ,MAAM;UACH,MAAMI,aAAa,GAAGH,OAA6C;UACnEC,cAAc,GAAGE,aAAa,CAACH,OAAO;UACtCE,qBAAqB,GAAG;YACpBH,GAAG;YACHd,IAAI,EAAEkB,aAAa,CAAClB,IAAI;YACxBmB,KAAK,EAAED,aAAa,CAACC;WACxB;;QAGLV,cAAc,CAACW,IAAI,CACfC,4BAA4B,CAACJ,qBAAqB,EAAEK,KAAK;UACrDA,KAAK,CAACC,cAAc,EAAE;UACtBP,cAAc,CAACL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEa,QAAQ,CAAC;SACvC,CAAC,CACL;OACJ,CAAC;;IAGNf,cAAc,CAACI,OAAO,CAACE,OAAO;MAC1BU,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEX,OAAO,CAAC;KAChD,CAAC;IAEF,OAAO;MACHN,cAAc,CAACI,OAAO,CAACE,OAAO;QAC1BU,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEZ,OAAO,CAAC;OACnD,CAAC;KACL;GACJ,EAAE,CAAChB,SAAS,EAAEC,IAAI,CAACW,UAAU,CAACC,eAAe,EAAEV,IAAI,CAACQ,MAAM,CAAC,CAAC;AACjE;;;;"}
1
+ {"version":3,"file":"useShortcutsListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useShortcutsListener.ts"],"sourcesContent":["import React from 'react';\nimport { TableMeta, Table as RTable } from '@tanstack/react-table';\nimport { KeyDownHandlerOptions, createShortcutKeyDownHandler } from '../../../../utils/keyboard';\nimport { Table3ShortcutHandlerObject, Table3Shortcuts } from '../../types';\n\nexport function useShortcutsListener<TType = unknown>(table: RTable<TType>, shortcuts: Table3Shortcuts<TType> | undefined) {\n const meta = table.options.meta as TableMeta<TType>;\n const rows = table.getRowModel().rows;\n\n React.useEffect(() => {\n const shortcutKeys = Object.keys(shortcuts ?? {});\n const globalHandlers: Array<(event: KeyboardEvent) => void> = [];\n\n // convert the shortcut into the correct format to register it\n if (shortcuts && shortcutKeys.length && meta.currentRow.currentRowIndex !== undefined) {\n const currentRow = rows[meta.currentRow.currentRowIndex];\n\n shortcutKeys.forEach(key => {\n const handler = shortcuts[key];\n\n let keyDownHandler;\n let keyDownHandlerOptions: KeyDownHandlerOptions;\n\n if (typeof handler === 'function') {\n keyDownHandler = handler;\n keyDownHandlerOptions = {\n key,\n };\n } else {\n const handlerObject = handler as Table3ShortcutHandlerObject<TType>;\n keyDownHandler = handlerObject.handler;\n keyDownHandlerOptions = {\n key,\n meta: handlerObject.meta,\n shift: handlerObject.shift,\n };\n }\n\n globalHandlers.push(\n createShortcutKeyDownHandler(keyDownHandlerOptions, event => {\n event.preventDefault();\n keyDownHandler(currentRow?.original);\n })\n );\n });\n }\n\n globalHandlers.forEach(handler => {\n document.addEventListener('keydown', handler);\n });\n\n return () => {\n globalHandlers.forEach(handler => {\n document.removeEventListener('keydown', handler);\n });\n };\n }, [shortcuts, meta.currentRow.currentRowIndex, rows.length]);\n}\n"],"names":["useShortcutsListener","table","shortcuts","meta","options","rows","getRowModel","React","useEffect","shortcutKeys","Object","keys","globalHandlers","length","currentRow","currentRowIndex","undefined","forEach","key","handler","keyDownHandler","keyDownHandlerOptions","handlerObject","shift","push","createShortcutKeyDownHandler","event","preventDefault","original","document","addEventListener","removeEventListener"],"mappings":";;;SAKgBA,oBAAoBA,CAAkBC,KAAoB,EAAEC,SAA6C;EACrH,MAAMC,IAAI,GAAGF,KAAK,CAACG,OAAO,CAACD,IAAwB;EACnD,MAAME,IAAI,GAAGJ,KAAK,CAACK,WAAW,EAAE,CAACD,IAAI;EAErCE,cAAK,CAACC,SAAS,CAAC;IACZ,MAAMC,YAAY,GAAGC,MAAM,CAACC,IAAI,CAACT,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,EAAE,CAAC;IACjD,MAAMU,cAAc,GAA0C,EAAE;;IAGhE,IAAIV,SAAS,IAAIO,YAAY,CAACI,MAAM,IAAIV,IAAI,CAACW,UAAU,CAACC,eAAe,KAAKC,SAAS,EAAE;MACnF,MAAMF,UAAU,GAAGT,IAAI,CAACF,IAAI,CAACW,UAAU,CAACC,eAAe,CAAC;MAExDN,YAAY,CAACQ,OAAO,CAACC,GAAG;QACpB,MAAMC,OAAO,GAAGjB,SAAS,CAACgB,GAAG,CAAC;QAE9B,IAAIE,cAAc;QAClB,IAAIC,qBAA4C;QAEhD,IAAI,OAAOF,OAAO,KAAK,UAAU,EAAE;UAC/BC,cAAc,GAAGD,OAAO;UACxBE,qBAAqB,GAAG;YACpBH;WACH;SACJ,MAAM;UACH,MAAMI,aAAa,GAAGH,OAA6C;UACnEC,cAAc,GAAGE,aAAa,CAACH,OAAO;UACtCE,qBAAqB,GAAG;YACpBH,GAAG;YACHf,IAAI,EAAEmB,aAAa,CAACnB,IAAI;YACxBoB,KAAK,EAAED,aAAa,CAACC;WACxB;;QAGLX,cAAc,CAACY,IAAI,CACfC,4BAA4B,CAACJ,qBAAqB,EAAEK,KAAK;UACrDA,KAAK,CAACC,cAAc,EAAE;UACtBP,cAAc,CAACN,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEc,QAAQ,CAAC;SACvC,CAAC,CACL;OACJ,CAAC;;IAGNhB,cAAc,CAACK,OAAO,CAACE,OAAO;MAC1BU,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEX,OAAO,CAAC;KAChD,CAAC;IAEF,OAAO;MACHP,cAAc,CAACK,OAAO,CAACE,OAAO;QAC1BU,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEZ,OAAO,CAAC;OACnD,CAAC;KACL;GACJ,EAAE,CAACjB,SAAS,EAAEC,IAAI,CAACW,UAAU,CAACC,eAAe,EAAEV,IAAI,CAACQ,MAAM,CAAC,CAAC;AACjE;;;;"}
@@ -1,9 +1,9 @@
1
1
  import React__default from 'react';
2
2
  import { COLUMN_ID } from '../components/columns/internal/Actions.js';
3
3
  import { isInternalColumn } from '../util/columns.js';
4
- import { MIN_COLUMN_SIZE } from '../components/columns/styles.js';
4
+ import { MIN_COLUMN_SIZE, PRINT_MIN_COLUMN_SIZE } from '../components/columns/styles.js';
5
5
 
6
- const useCssGrid = table => {
6
+ const useCssGrid = (table, isPrintTable = false) => {
7
7
  const allVisibleColumns = table.getVisibleLeafColumns();
8
8
  const columnSizing = table.getState().columnSizing;
9
9
  const rowsLength = table.getRowModel().rows.length;
@@ -16,7 +16,11 @@ const useCssGrid = table => {
16
16
  // column has a getSize function, but it always returns a default value (150), and we want the
17
17
  // first render to use auto layout - so we get the size directly from table state where it is undefined
18
18
  const width = columnSizing[column.id];
19
- if (isInternalColumn(column.id)) {
19
+ const isColumnInternal = isInternalColumn(column.id);
20
+ if (isPrintTable) {
21
+ const maxWidth = isColumnInternal ? `${column.getSize()}px` : '1fr';
22
+ size = `minmax(${PRINT_MIN_COLUMN_SIZE}px, ${maxWidth})`;
23
+ } else if (isColumnInternal) {
20
24
  if (column.id === COLUMN_ID) {
21
25
  size = 'minmax(max-content, auto)';
22
26
  } else {