@economic/taco 2.10.1 → 2.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. package/dist/components/Menu/Menu.d.ts +2 -1
  2. package/dist/components/Menu/components/Content.d.ts +1 -1
  3. package/dist/components/Menu/components/Separator.d.ts +4 -2
  4. package/dist/components/Menu/components/SubMenu.d.ts +1 -1
  5. package/dist/components/Table3/components/toolbar/Settings.d.ts +2 -0
  6. package/dist/components/Table3/components/toolbar/Toolbar.d.ts +2 -1
  7. package/dist/components/Table3/hooks/useTable.d.ts +2 -1
  8. package/dist/components/Table3/types.d.ts +3 -0
  9. package/dist/esm/packages/taco/src/components/Menu/Menu.js.map +1 -1
  10. package/dist/esm/packages/taco/src/components/Menu/components/Separator.js +7 -6
  11. package/dist/esm/packages/taco/src/components/Menu/components/Separator.js.map +1 -1
  12. package/dist/esm/packages/taco/src/components/Table3/Table3.js +2 -0
  13. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  14. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js +5 -1
  15. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js.map +1 -1
  16. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js +3 -1
  17. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js.map +1 -1
  18. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +1 -12
  19. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -1
  20. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +15 -0
  21. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -1
  22. package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -1
  23. package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js +10 -12
  24. package/dist/esm/packages/taco/src/components/Tooltip/Tooltip.js.map +1 -1
  25. package/dist/taco.cjs.development.js +42 -31
  26. package/dist/taco.cjs.development.js.map +1 -1
  27. package/dist/taco.cjs.production.min.js +1 -1
  28. package/dist/taco.cjs.production.min.js.map +1 -1
  29. package/package.json +14 -14
  30. package/types.json +5653 -5431
@@ -1 +1 @@
1
- {"version":3,"file":"useTable.js","sources":["../../../../../../../../src/components/Table3/hooks/useTable.tsx"],"sourcesContent":["import React from 'react';\nimport {\n getCoreRowModel,\n useReactTable,\n Row as RTRow,\n RowData,\n Column as RTColumn,\n TableOptions as RTableOptions,\n TableState,\n getSortedRowModel,\n getFilteredRowModel,\n ColumnMeta,\n} from '@tanstack/react-table';\nimport {\n Table3ColumnAlignment,\n Table3ColumnRenderer,\n Table3Props,\n Table3ColumnHeaderMenu,\n Table3ColumnControlRenderer,\n Table3ColumnDataType,\n Table3ColumnClassNameHandler,\n Table3ColumnFooterRenderer,\n TableStrategy,\n Table3FilterComparator,\n} from '../types';\nimport { useCurrentRow } from './features/useCurrentRow';\nimport { usePauseHoverState } from './features/usePauseHoverState';\nimport { useTablePreset } from './useTablePreset';\nimport { useRowHeight } from './features/useRowHeight';\nimport { useFontSize } from './features/useFontSize';\nimport { useRowSelectionListener } from './listeners/useRowSelectionListener';\nimport { useRowDrag } from './features/useRowDrag';\nimport { useSettingsStateListener } from './listeners/useSettingsStateListener';\nimport { columnFilterFn, globalFilterFn } from '../util/filtering';\nimport { useSortingStateListener } from './listeners/useSortingStateListener';\nimport { useFilteringStateListener } from './listeners/useFilteringStateListener';\nimport { useCurrentRowListener } from './listeners/useCurrentRowListener';\nimport { useColumnFreezing } from './features/useColumnFreezing';\nimport { useRowSelection } from './features/useRowSelection';\nimport { useRowClick } from './features/useRowClick';\nimport { ensureOrdering, useColumnOrdering } from './features/useColumnOrdering';\nimport { useRowDrop } from './features/useRowDrop';\nimport { useConvertChildrenToColumns } from './useConvertChildrenToColumns';\nimport { useEditing } from './features/useEditing';\nimport { usePrinting } from './features/usePrinting';\nimport { useShortcutsListener } from './listeners/useShortcutsListener';\nimport { useRowGoto } from './features/useRowGoto';\nimport { useServerLoadingListener } from './listeners/useServerLoadingListener';\nimport { useEditingStateListener } from './listeners/useEditingStateListener';\nimport { useSearch } from './features/useSearch';\nimport { useRowActions } from './features/useRowActions';\nimport { useSettings } from './features/useSettings';\nimport { getCellValueAsString } from '../util/columns';\n\ndeclare module '@tanstack/table-core' {\n interface TableMeta<TData extends RowData> {\n columnFreezing: ReturnType<typeof useColumnFreezing>;\n columnOrdering: ReturnType<typeof useColumnOrdering>;\n currentRow: ReturnType<typeof useCurrentRow>;\n editing: ReturnType<typeof useEditing>;\n enableFooter: boolean;\n fontSize: ReturnType<typeof useFontSize>;\n hoverState: ReturnType<typeof usePauseHoverState>;\n isPrinting: boolean;\n isUsingServer: boolean;\n printing: ReturnType<typeof usePrinting>;\n rowActions: ReturnType<typeof useRowActions>;\n rowClick: ReturnType<typeof useRowClick>;\n rowDrag: ReturnType<typeof useRowDrag>;\n rowDrop: ReturnType<typeof useRowDrop>;\n rowGoto: ReturnType<typeof useRowGoto>;\n rowHeight: ReturnType<typeof useRowHeight>;\n rowSelection: ReturnType<typeof useRowSelection>;\n search: ReturnType<typeof useSearch>;\n }\n\n interface ColumnMeta<TData extends RowData, TValue> {\n align?: Table3ColumnAlignment;\n // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n className?: Table3ColumnClassNameHandler<TData>;\n // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n control?: Table3ColumnControlRenderer<TData>;\n // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n dataType?: Table3ColumnDataType;\n // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n defaultWidth?: number;\n enableOrdering: boolean;\n enableSearch: boolean;\n enableTruncate: boolean;\n filters?: Table3FilterComparator[];\n footer?: Table3ColumnFooterRenderer;\n header: string;\n headerClassName?: string;\n menu?: Table3ColumnHeaderMenu;\n renderer?: Table3ColumnRenderer<TValue, TData>;\n tooltip?: string;\n }\n\n interface CellContext<TData extends RowData, TValue> {\n index: number;\n tableRef: React.RefObject<HTMLDivElement>;\n }\n\n interface HeaderContext<TData extends RowData, TValue> {\n scrollToIndex: TableStrategy['scrollToIndex'];\n }\n}\n\nexport function useTable<TType = unknown>(props: Table3Props<TType>) {\n // options\n const options = useTablePreset(props);\n\n const tableOptions: Partial<RTableOptions<TType>> = {\n enableColumnFilters: options.enableFiltering,\n enableColumnResizing: options.enableColumnResizing,\n enableExpanding: options.enableRowExpansion,\n enableGlobalFilter: options.enableSearch,\n enableHiding: options.enableColumnHiding,\n enableRowSelection: options.enableRowSelection,\n enableMultiRowSelection: !options.enableRowSelectionSingle,\n enableSorting: options.enableSorting,\n };\n\n // resizing\n if (tableOptions.enableColumnResizing) {\n tableOptions.columnResizeMode = 'onChange';\n }\n\n // filtering\n if (tableOptions.enableColumnFilters) {\n if (!props.onFilter) {\n tableOptions.filterFns = {\n tacoFilter: (row: RTRow<TType>, columnId: string, filter: any) => columnFilterFn(row.getValue(columnId), filter),\n };\n tableOptions.getFilteredRowModel = getFilteredRowModel();\n }\n\n // we don't tableOptions.manualFiltering = true; because it breaks global filtering, server filtering still works :shrug:\n }\n\n // search\n if (tableOptions.enableGlobalFilter) {\n // search is always client side, since we call loadAll when searching\n tableOptions.globalFilterFn = (row: RTRow<TType>, columnId: string, searchQuery: string) => {\n try {\n if (row.original) {\n const cell = row.getAllCells().find(cell => cell.column.id === columnId);\n const columnMeta = cell?.column.columnDef.meta;\n\n if (cell && cell.column.getIsVisible() && columnMeta?.enableSearch) {\n const cellValue = getCellValueAsString(row.original[columnId], columnMeta?.dataType);\n\n if (cellValue !== undefined) {\n return globalFilterFn(cellValue, searchQuery);\n }\n }\n return false;\n }\n } catch {\n //\n }\n\n return false;\n };\n tableOptions.getFilteredRowModel = getFilteredRowModel();\n tableOptions.getColumnCanGlobalFilter = (column: RTColumn<TType>) =>\n (column.columnDef.meta as ColumnMeta<TType, unknown>).enableSearch ?? true;\n }\n\n // sorting\n if (options.enableSorting) {\n if (props.onSort) {\n tableOptions.manualSorting = true;\n // onSort is called as a listener to let the consumer update their data, so we don't use onSortingChange\n } else {\n tableOptions.getSortedRowModel = getSortedRowModel();\n }\n }\n\n const [defaultSettings, setSettings] = useSettings(props.id, props.defaultSettings, props.onChangeSettings);\n\n // custom features\n const columnFreezing = useColumnFreezing(\n // temporarily see if deprecated frozenColumnCount is there\n defaultSettings.columnFreezingIndex ?? (defaultSettings as any)?.frozenColumnCount ?? props.defaultColumnFreezingIndex,\n options\n );\n const columnOrdering = useColumnOrdering(options);\n const currentRow = useCurrentRow(props.defaultCurrentRowIndex);\n const editing = useEditing(options.enableEditing, props.onSave);\n const fontSize = useFontSize(options.enableFontSize, defaultSettings.fontSize);\n const hoverState = usePauseHoverState();\n const printing = usePrinting(options.enablePrinting, props.loadAll, defaultSettings.showWarningWhenPrintingLargeDataset);\n const rowActions = useRowActions<TType>(props.actionsForRow, props.actionsForRowLength);\n const rowClick = useRowClick<TType>(props.onRowClick);\n const rowDrag = useRowDrag(options.enableRowDrag);\n const rowDrop = useRowDrop(options.enableRowDrop, props.onRowDrop);\n const rowGoto = useRowGoto(options.enableRowGoto, props.onRowGoto);\n const rowHeight = useRowHeight(\n options.enableRowHeight,\n // temporarily see if deprecated rowDensity is there\n defaultSettings.rowHeight ?? (defaultSettings as any)?.rowDensity\n );\n const rowSelection = useRowSelection();\n const search = useSearch(options.enableSearch, defaultSettings.excludeUnmatchedRecordsInSearch, props.loadAll);\n\n // columns\n const { columns, defaultColumnSizing, defaultColumnVisibility, defaultSorting } = useConvertChildrenToColumns<TType>(\n props,\n options,\n editing\n );\n\n // built-in features\n const initialState: Partial<TableState> = React.useMemo(() => {\n const sanitizeSortedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);\n\n const state: Partial<TableState> = {\n columnOrder: ensureOrdering<TType>(columns, defaultSettings.columnOrder),\n columnSizing: defaultSettings.columnSizing ?? defaultColumnSizing,\n columnVisibility: defaultSettings.columnVisibility ?? defaultColumnVisibility,\n sorting: defaultSettings.sorting ? defaultSettings.sorting.filter(sanitizeSortedColumns) : defaultSorting,\n };\n\n // we don't save these outside the table, but they need to be here for print to inherit them - see PrintButton.tsx\n if ((props.defaultSettings as any)?.columnFilters) {\n state.columnFilters = (props.defaultSettings as any)?.columnFilters;\n }\n\n if ((props.defaultSettings as any)?.globalFilter) {\n state.globalFilter = (props.defaultSettings as any)?.globalFilter;\n }\n\n return state;\n }, []);\n\n const table = useReactTable<TType>({\n data: props.data,\n columns,\n getCoreRowModel: getCoreRowModel(),\n initialState,\n ...tableOptions,\n //debugAll: true,\n meta: {\n columnFreezing,\n columnOrdering,\n currentRow,\n editing,\n enableFooter: options.enableFooter,\n fontSize,\n hoverState,\n isPrinting: props.id.endsWith('_print'),\n isUsingServer: !!props.loadPage,\n printing,\n rowActions: rowActions as any,\n rowClick: rowClick as any,\n rowDrag,\n rowDrop,\n rowGoto,\n rowHeight,\n rowSelection,\n search,\n },\n });\n\n // listeners\n useCurrentRowListener(table);\n useEditingStateListener(table);\n useFilteringStateListener(table, props.onFilter);\n useRowSelectionListener(table, props.onRowSelect);\n useSettingsStateListener(table, setSettings);\n useShortcutsListener(table, props.shortcuts);\n useServerLoadingListener(table, props.loadPage);\n useSortingStateListener(table, props.onSort);\n\n return { table, length: props.length ?? props.data.length };\n}\n"],"names":["useTable","props","options","useTablePreset","tableOptions","enableColumnFilters","enableFiltering","enableColumnResizing","enableExpanding","enableRowExpansion","enableGlobalFilter","enableSearch","enableHiding","enableColumnHiding","enableRowSelection","enableMultiRowSelection","enableRowSelectionSingle","enableSorting","columnResizeMode","onFilter","filterFns","tacoFilter","row","columnId","filter","columnFilterFn","getValue","getFilteredRowModel","globalFilterFn","searchQuery","original","cell","getAllCells","find","column","id","columnMeta","columnDef","meta","getIsVisible","cellValue","getCellValueAsString","dataType","undefined","getColumnCanGlobalFilter","_column$columnDef$met","onSort","manualSorting","getSortedRowModel","defaultSettings","setSettings","useSettings","onChangeSettings","columnFreezing","useColumnFreezing","_ref","_defaultSettings$colu","columnFreezingIndex","frozenColumnCount","defaultColumnFreezingIndex","columnOrdering","useColumnOrdering","currentRow","useCurrentRow","defaultCurrentRowIndex","editing","useEditing","enableEditing","onSave","fontSize","useFontSize","enableFontSize","hoverState","usePauseHoverState","printing","usePrinting","enablePrinting","loadAll","showWarningWhenPrintingLargeDataset","rowActions","useRowActions","actionsForRow","actionsForRowLength","rowClick","useRowClick","onRowClick","rowDrag","useRowDrag","enableRowDrag","rowDrop","useRowDrop","enableRowDrop","onRowDrop","rowGoto","useRowGoto","enableRowGoto","onRowGoto","rowHeight","useRowHeight","enableRowHeight","_defaultSettings$rowH","rowDensity","rowSelection","useRowSelection","search","useSearch","excludeUnmatchedRecordsInSearch","columns","defaultColumnSizing","defaultColumnVisibility","defaultSorting","useConvertChildrenToColumns","initialState","React","useMemo","sanitizeSortedColumns","definedColumn","state","columnOrder","ensureOrdering","columnSizing","_defaultSettings$colu2","columnVisibility","_defaultSettings$colu3","sorting","_props$defaultSetting","columnFilters","_props$defaultSetting2","_props$defaultSetting3","globalFilter","_props$defaultSetting4","table","useReactTable","data","getCoreRowModel","enableFooter","isPrinting","endsWith","isUsingServer","loadPage","useCurrentRowListener","useEditingStateListener","useFilteringStateListener","useRowSelectionListener","onRowSelect","useSettingsStateListener","useShortcutsListener","shortcuts","useServerLoadingListener","useSortingStateListener","length","_props$length"],"mappings":"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"}
1
+ {"version":3,"file":"useTable.js","sources":["../../../../../../../../src/components/Table3/hooks/useTable.tsx"],"sourcesContent":["import React from 'react';\nimport {\n getCoreRowModel,\n useReactTable,\n Row as RTRow,\n RowData,\n Column as RTColumn,\n TableOptions as RTableOptions,\n TableState,\n getSortedRowModel,\n getFilteredRowModel,\n ColumnMeta,\n} from '@tanstack/react-table';\nimport {\n Table3ColumnAlignment,\n Table3ColumnRenderer,\n Table3Props,\n Table3ColumnHeaderMenu,\n Table3ColumnControlRenderer,\n Table3ColumnDataType,\n Table3ColumnClassNameHandler,\n Table3ColumnFooterRenderer,\n TableStrategy,\n Table3FilterComparator,\n Table3Settings,\n} from '../types';\nimport { useCurrentRow } from './features/useCurrentRow';\nimport { usePauseHoverState } from './features/usePauseHoverState';\nimport { useTablePreset } from './useTablePreset';\nimport { useRowHeight } from './features/useRowHeight';\nimport { useFontSize } from './features/useFontSize';\nimport { useRowSelectionListener } from './listeners/useRowSelectionListener';\nimport { useRowDrag } from './features/useRowDrag';\nimport { useSettingsStateListener } from './listeners/useSettingsStateListener';\nimport { columnFilterFn, globalFilterFn } from '../util/filtering';\nimport { useSortingStateListener } from './listeners/useSortingStateListener';\nimport { useFilteringStateListener } from './listeners/useFilteringStateListener';\nimport { useCurrentRowListener } from './listeners/useCurrentRowListener';\nimport { useColumnFreezing } from './features/useColumnFreezing';\nimport { useRowSelection } from './features/useRowSelection';\nimport { useRowClick } from './features/useRowClick';\nimport { ensureOrdering, useColumnOrdering } from './features/useColumnOrdering';\nimport { useRowDrop } from './features/useRowDrop';\nimport { useConvertChildrenToColumns } from './useConvertChildrenToColumns';\nimport { useEditing } from './features/useEditing';\nimport { usePrinting } from './features/usePrinting';\nimport { useShortcutsListener } from './listeners/useShortcutsListener';\nimport { useRowGoto } from './features/useRowGoto';\nimport { useServerLoadingListener } from './listeners/useServerLoadingListener';\nimport { useEditingStateListener } from './listeners/useEditingStateListener';\nimport { useSearch } from './features/useSearch';\nimport { useRowActions } from './features/useRowActions';\nimport { useSettings } from './features/useSettings';\nimport { getCellValueAsString } from '../util/columns';\n\ndeclare module '@tanstack/table-core' {\n interface TableMeta<TData extends RowData> {\n columnFreezing: ReturnType<typeof useColumnFreezing>;\n columnOrdering: ReturnType<typeof useColumnOrdering>;\n currentRow: ReturnType<typeof useCurrentRow>;\n editing: ReturnType<typeof useEditing>;\n enableFooter: boolean;\n fontSize: ReturnType<typeof useFontSize>;\n getSettings: () => Table3Settings;\n hoverState: ReturnType<typeof usePauseHoverState>;\n isPrinting: boolean;\n isUsingServer: boolean;\n printing: ReturnType<typeof usePrinting>;\n rowActions: ReturnType<typeof useRowActions>;\n rowClick: ReturnType<typeof useRowClick>;\n rowDrag: ReturnType<typeof useRowDrag>;\n rowDrop: ReturnType<typeof useRowDrop>;\n rowGoto: ReturnType<typeof useRowGoto>;\n rowHeight: ReturnType<typeof useRowHeight>;\n rowSelection: ReturnType<typeof useRowSelection>;\n search: ReturnType<typeof useSearch>;\n }\n\n interface ColumnMeta<TData extends RowData, TValue> {\n align?: Table3ColumnAlignment;\n // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n className?: Table3ColumnClassNameHandler<TData>;\n // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n control?: Table3ColumnControlRenderer<TData>;\n // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n dataType?: Table3ColumnDataType;\n // @ts-expect-error -- we ignore it because it conflicts with Table2 also overridding ColumnMeta\n defaultWidth?: number;\n enableOrdering: boolean;\n enableSearch: boolean;\n enableTruncate: boolean;\n filters?: Table3FilterComparator[];\n footer?: Table3ColumnFooterRenderer;\n header: string;\n headerClassName?: string;\n menu?: Table3ColumnHeaderMenu;\n renderer?: Table3ColumnRenderer<TValue, TData>;\n tooltip?: string;\n }\n\n interface CellContext<TData extends RowData, TValue> {\n index: number;\n tableRef: React.RefObject<HTMLDivElement>;\n }\n\n interface HeaderContext<TData extends RowData, TValue> {\n scrollToIndex: TableStrategy['scrollToIndex'];\n }\n}\n\nexport function useTable<TType = unknown>(props: Table3Props<TType>) {\n // options\n const options = useTablePreset(props);\n\n const tableOptions: Partial<RTableOptions<TType>> = {\n enableColumnFilters: options.enableFiltering,\n enableColumnResizing: options.enableColumnResizing,\n enableExpanding: options.enableRowExpansion,\n enableGlobalFilter: options.enableSearch,\n enableHiding: options.enableColumnHiding,\n enableRowSelection: options.enableRowSelection,\n enableMultiRowSelection: !options.enableRowSelectionSingle,\n enableSorting: options.enableSorting,\n };\n\n // resizing\n if (tableOptions.enableColumnResizing) {\n tableOptions.columnResizeMode = 'onChange';\n }\n\n // filtering\n if (tableOptions.enableColumnFilters) {\n if (!props.onFilter) {\n tableOptions.filterFns = {\n tacoFilter: (row: RTRow<TType>, columnId: string, filter: any) => columnFilterFn(row.getValue(columnId), filter),\n };\n tableOptions.getFilteredRowModel = getFilteredRowModel();\n }\n\n // we don't tableOptions.manualFiltering = true; because it breaks global filtering, server filtering still works :shrug:\n }\n\n // search\n if (tableOptions.enableGlobalFilter) {\n // search is always client side, since we call loadAll when searching\n tableOptions.globalFilterFn = (row: RTRow<TType>, columnId: string, searchQuery: string) => {\n try {\n if (row.original) {\n const cell = row.getAllCells().find(cell => cell.column.id === columnId);\n const columnMeta = cell?.column.columnDef.meta;\n\n if (cell && cell.column.getIsVisible() && columnMeta?.enableSearch) {\n const cellValue = getCellValueAsString(row.original[columnId], columnMeta?.dataType);\n\n if (cellValue !== undefined) {\n return globalFilterFn(cellValue, searchQuery);\n }\n }\n return false;\n }\n } catch {\n //\n }\n\n return false;\n };\n tableOptions.getFilteredRowModel = getFilteredRowModel();\n tableOptions.getColumnCanGlobalFilter = (column: RTColumn<TType>) =>\n (column.columnDef.meta as ColumnMeta<TType, unknown>).enableSearch ?? true;\n }\n\n // sorting\n if (options.enableSorting) {\n if (props.onSort) {\n tableOptions.manualSorting = true;\n // onSort is called as a listener to let the consumer update their data, so we don't use onSortingChange\n } else {\n tableOptions.getSortedRowModel = getSortedRowModel();\n }\n }\n\n const [defaultSettings, setSettings] = useSettings(props.id, props.defaultSettings, props.onChangeSettings);\n\n // custom features\n const columnFreezing = useColumnFreezing(\n // temporarily see if deprecated frozenColumnCount is there\n defaultSettings.columnFreezingIndex ?? (defaultSettings as any)?.frozenColumnCount ?? props.defaultColumnFreezingIndex,\n options\n );\n const columnOrdering = useColumnOrdering(options);\n const currentRow = useCurrentRow(props.defaultCurrentRowIndex);\n const editing = useEditing(options.enableEditing, props.onSave);\n const fontSize = useFontSize(options.enableFontSize, defaultSettings.fontSize);\n const hoverState = usePauseHoverState();\n const printing = usePrinting(options.enablePrinting, props.loadAll, defaultSettings.showWarningWhenPrintingLargeDataset);\n const rowActions = useRowActions<TType>(props.actionsForRow, props.actionsForRowLength);\n const rowClick = useRowClick<TType>(props.onRowClick);\n const rowDrag = useRowDrag(options.enableRowDrag);\n const rowDrop = useRowDrop(options.enableRowDrop, props.onRowDrop);\n const rowGoto = useRowGoto(options.enableRowGoto, props.onRowGoto);\n const rowHeight = useRowHeight(\n options.enableRowHeight,\n // temporarily see if deprecated rowDensity is there\n defaultSettings.rowHeight ?? (defaultSettings as any)?.rowDensity\n );\n const rowSelection = useRowSelection();\n const search = useSearch(options.enableSearch, defaultSettings.excludeUnmatchedRecordsInSearch, props.loadAll);\n\n // columns\n const { columns, defaultColumnSizing, defaultColumnVisibility, defaultSorting } = useConvertChildrenToColumns<TType>(\n props,\n options,\n editing\n );\n\n // built-in features\n const initialState: Partial<TableState> = React.useMemo(() => {\n const sanitizeSortedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);\n\n const state: Partial<TableState> = {\n columnOrder: ensureOrdering<TType>(columns, defaultSettings.columnOrder),\n columnSizing: defaultSettings.columnSizing ?? defaultColumnSizing,\n columnVisibility: defaultSettings.columnVisibility ?? defaultColumnVisibility,\n sorting: defaultSettings.sorting ? defaultSettings.sorting.filter(sanitizeSortedColumns) : defaultSorting,\n };\n\n // we don't save these outside the table, but they need to be here for print to inherit them - see PrintButton.tsx\n if ((props.defaultSettings as any)?.columnFilters) {\n state.columnFilters = (props.defaultSettings as any)?.columnFilters;\n }\n\n if ((props.defaultSettings as any)?.globalFilter) {\n state.globalFilter = (props.defaultSettings as any)?.globalFilter;\n }\n\n return state;\n }, []);\n\n const getSettings = () => {\n const state = table.getState();\n return {\n columnFreezingIndex: columnFreezing.frozenColumnIndex,\n columnOrder: columnOrdering.isEnabled ? state.columnOrder : undefined,\n columnSizing: table.options.enableColumnResizing ? state.columnSizing : undefined,\n columnVisibility: table.options.enableHiding ? state.columnVisibility : undefined,\n excludeUnmatchedRecordsInSearch: search.excludeUnmatchedResults,\n fontSize: fontSize.isEnabled ? fontSize.size : undefined,\n rowHeight: rowHeight.isEnabled ? rowHeight.height : undefined,\n showWarningWhenPrintingLargeDataset: printing.printWarningDialogVisibility,\n sorting: state.sorting,\n };\n };\n\n const table = useReactTable<TType>({\n data: props.data,\n columns,\n getCoreRowModel: getCoreRowModel(),\n initialState,\n ...tableOptions,\n //debugAll: true,\n meta: {\n columnFreezing,\n columnOrdering,\n currentRow,\n editing,\n enableFooter: options.enableFooter,\n fontSize,\n getSettings,\n hoverState,\n isPrinting: props.id.endsWith('_print'),\n isUsingServer: !!props.loadPage,\n printing,\n rowActions: rowActions as any,\n rowClick: rowClick as any,\n rowDrag,\n rowDrop,\n rowGoto,\n rowHeight,\n rowSelection,\n search,\n },\n });\n\n // listeners\n useCurrentRowListener(table);\n useEditingStateListener(table);\n useFilteringStateListener(table, props.onFilter);\n useRowSelectionListener(table, props.onRowSelect);\n useSettingsStateListener(table, setSettings);\n useShortcutsListener(table, props.shortcuts);\n useServerLoadingListener(table, props.loadPage);\n useSortingStateListener(table, props.onSort);\n\n return { table, length: props.length ?? props.data.length };\n}\n"],"names":["useTable","props","options","useTablePreset","tableOptions","enableColumnFilters","enableFiltering","enableColumnResizing","enableExpanding","enableRowExpansion","enableGlobalFilter","enableSearch","enableHiding","enableColumnHiding","enableRowSelection","enableMultiRowSelection","enableRowSelectionSingle","enableSorting","columnResizeMode","onFilter","filterFns","tacoFilter","row","columnId","filter","columnFilterFn","getValue","getFilteredRowModel","globalFilterFn","searchQuery","original","cell","getAllCells","find","column","id","columnMeta","columnDef","meta","getIsVisible","cellValue","getCellValueAsString","dataType","undefined","getColumnCanGlobalFilter","_column$columnDef$met","onSort","manualSorting","getSortedRowModel","defaultSettings","setSettings","useSettings","onChangeSettings","columnFreezing","useColumnFreezing","_ref","_defaultSettings$colu","columnFreezingIndex","frozenColumnCount","defaultColumnFreezingIndex","columnOrdering","useColumnOrdering","currentRow","useCurrentRow","defaultCurrentRowIndex","editing","useEditing","enableEditing","onSave","fontSize","useFontSize","enableFontSize","hoverState","usePauseHoverState","printing","usePrinting","enablePrinting","loadAll","showWarningWhenPrintingLargeDataset","rowActions","useRowActions","actionsForRow","actionsForRowLength","rowClick","useRowClick","onRowClick","rowDrag","useRowDrag","enableRowDrag","rowDrop","useRowDrop","enableRowDrop","onRowDrop","rowGoto","useRowGoto","enableRowGoto","onRowGoto","rowHeight","useRowHeight","enableRowHeight","_defaultSettings$rowH","rowDensity","rowSelection","useRowSelection","search","useSearch","excludeUnmatchedRecordsInSearch","columns","defaultColumnSizing","defaultColumnVisibility","defaultSorting","useConvertChildrenToColumns","initialState","React","useMemo","sanitizeSortedColumns","definedColumn","state","columnOrder","ensureOrdering","columnSizing","_defaultSettings$colu2","columnVisibility","_defaultSettings$colu3","sorting","_props$defaultSetting","columnFilters","_props$defaultSetting2","_props$defaultSetting3","globalFilter","_props$defaultSetting4","getSettings","table","getState","frozenColumnIndex","isEnabled","excludeUnmatchedResults","size","height","printWarningDialogVisibility","useReactTable","data","getCoreRowModel","enableFooter","isPrinting","endsWith","isUsingServer","loadPage","useCurrentRowListener","useEditingStateListener","useFilteringStateListener","useRowSelectionListener","onRowSelect","useSettingsStateListener","useShortcutsListener","shortcuts","useServerLoadingListener","useSortingStateListener","length","_props$length"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA8GgBA,QAAQA,CAAkBC,KAAyB;;;EAE/D,MAAMC,OAAO,GAAGC,cAAc,CAACF,KAAK,CAAC;EAErC,MAAMG,YAAY,GAAkC;IAChDC,mBAAmB,EAAEH,OAAO,CAACI,eAAe;IAC5CC,oBAAoB,EAAEL,OAAO,CAACK,oBAAoB;IAClDC,eAAe,EAAEN,OAAO,CAACO,kBAAkB;IAC3CC,kBAAkB,EAAER,OAAO,CAACS,YAAY;IACxCC,YAAY,EAAEV,OAAO,CAACW,kBAAkB;IACxCC,kBAAkB,EAAEZ,OAAO,CAACY,kBAAkB;IAC9CC,uBAAuB,EAAE,CAACb,OAAO,CAACc,wBAAwB;IAC1DC,aAAa,EAAEf,OAAO,CAACe;GAC1B;;EAGD,IAAIb,YAAY,CAACG,oBAAoB,EAAE;IACnCH,YAAY,CAACc,gBAAgB,GAAG,UAAU;;;EAI9C,IAAId,YAAY,CAACC,mBAAmB,EAAE;IAClC,IAAI,CAACJ,KAAK,CAACkB,QAAQ,EAAE;MACjBf,YAAY,CAACgB,SAAS,GAAG;QACrBC,UAAU,EAAEA,CAACC,GAAiB,EAAEC,QAAgB,EAAEC,MAAW,KAAKC,cAAc,CAACH,GAAG,CAACI,QAAQ,CAACH,QAAQ,CAAC,EAAEC,MAAM;OAClH;MACDpB,YAAY,CAACuB,mBAAmB,GAAGA,mBAAmB,EAAE;;;;;EAOhE,IAAIvB,YAAY,CAACM,kBAAkB,EAAE;;IAEjCN,YAAY,CAACwB,cAAc,GAAG,CAACN,GAAiB,EAAEC,QAAgB,EAAEM,WAAmB;MACnF,IAAI;QACA,IAAIP,GAAG,CAACQ,QAAQ,EAAE;UACd,MAAMC,IAAI,GAAGT,GAAG,CAACU,WAAW,EAAE,CAACC,IAAI,CAACF,IAAI,IAAIA,IAAI,CAACG,MAAM,CAACC,EAAE,KAAKZ,QAAQ,CAAC;UACxE,MAAMa,UAAU,GAAGL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,MAAM,CAACG,SAAS,CAACC,IAAI;UAE9C,IAAIP,IAAI,IAAIA,IAAI,CAACG,MAAM,CAACK,YAAY,EAAE,IAAIH,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEzB,YAAY,EAAE;YAChE,MAAM6B,SAAS,GAAGC,oBAAoB,CAACnB,GAAG,CAACQ,QAAQ,CAACP,QAAQ,CAAC,EAAEa,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,QAAQ,CAAC;YAEpF,IAAIF,SAAS,KAAKG,SAAS,EAAE;cACzB,OAAOf,cAAc,CAACY,SAAS,EAAEX,WAAW,CAAC;;;UAGrD,OAAO,KAAK;;OAEnB,CAAC,MAAM;;;MAIR,OAAO,KAAK;KACf;IACDzB,YAAY,CAACuB,mBAAmB,GAAGA,mBAAmB,EAAE;IACxDvB,YAAY,CAACwC,wBAAwB,GAAIV,MAAuB;MAAA,IAAAW,qBAAA;MAAA,QAAAA,qBAAA,GAC3DX,MAAM,CAACG,SAAS,CAACC,IAAmC,CAAC3B,YAAY,cAAAkC,qBAAA,cAAAA,qBAAA,GAAI,IAAI;;;;EAIlF,IAAI3C,OAAO,CAACe,aAAa,EAAE;IACvB,IAAIhB,KAAK,CAAC6C,MAAM,EAAE;MACd1C,YAAY,CAAC2C,aAAa,GAAG,IAAI;;KAEpC,MAAM;MACH3C,YAAY,CAAC4C,iBAAiB,GAAGA,iBAAiB,EAAE;;;EAI5D,MAAM,CAACC,eAAe,EAAEC,WAAW,CAAC,GAAGC,WAAW,CAAClD,KAAK,CAACkC,EAAE,EAAElC,KAAK,CAACgD,eAAe,EAAEhD,KAAK,CAACmD,gBAAgB,CAAC;;EAG3G,MAAMC,cAAc,GAAGC,iBAAiB;EACpC,CAAAC,IAAA,IAAAC,qBAAA,GACAP,eAAe,CAACQ,mBAAmB,cAAAD,qBAAA,cAAAA,qBAAA,GAAKP,eAAuB,aAAvBA,eAAuB,uBAAvBA,eAAuB,CAAES,iBAAiB,cAAAH,IAAA,cAAAA,IAAA,GAAItD,KAAK,CAAC0D,0BAA0B,EACtHzD,OAAO,CACV;EACD,MAAM0D,cAAc,GAAGC,iBAAiB,CAAC3D,OAAO,CAAC;EACjD,MAAM4D,UAAU,GAAGC,aAAa,CAAC9D,KAAK,CAAC+D,sBAAsB,CAAC;EAC9D,MAAMC,OAAO,GAAGC,UAAU,CAAChE,OAAO,CAACiE,aAAa,EAAElE,KAAK,CAACmE,MAAM,CAAC;EAC/D,MAAMC,QAAQ,GAAGC,WAAW,CAACpE,OAAO,CAACqE,cAAc,EAAEtB,eAAe,CAACoB,QAAQ,CAAC;EAC9E,MAAMG,UAAU,GAAGC,kBAAkB,EAAE;EACvC,MAAMC,QAAQ,GAAGC,WAAW,CAACzE,OAAO,CAAC0E,cAAc,EAAE3E,KAAK,CAAC4E,OAAO,EAAE5B,eAAe,CAAC6B,mCAAmC,CAAC;EACxH,MAAMC,UAAU,GAAGC,aAAa,CAAQ/E,KAAK,CAACgF,aAAa,EAAEhF,KAAK,CAACiF,mBAAmB,CAAC;EACvF,MAAMC,QAAQ,GAAGC,WAAW,CAAQnF,KAAK,CAACoF,UAAU,CAAC;EACrD,MAAMC,OAAO,GAAGC,UAAU,CAACrF,OAAO,CAACsF,aAAa,CAAC;EACjD,MAAMC,OAAO,GAAGC,UAAU,CAACxF,OAAO,CAACyF,aAAa,EAAE1F,KAAK,CAAC2F,SAAS,CAAC;EAClE,MAAMC,OAAO,GAAGC,UAAU,CAAC5F,OAAO,CAAC6F,aAAa,EAAE9F,KAAK,CAAC+F,SAAS,CAAC;EAClE,MAAMC,SAAS,GAAGC,YAAY,CAC1BhG,OAAO,CAACiG,eAAe;EACvB,CAAAC,qBAAA,GACAnD,eAAe,CAACgD,SAAS,cAAAG,qBAAA,cAAAA,qBAAA,GAAKnD,eAAuB,aAAvBA,eAAuB,uBAAvBA,eAAuB,CAAEoD,UAAU,CACpE;EACD,MAAMC,YAAY,GAAGC,eAAe,EAAE;EACtC,MAAMC,MAAM,GAAGC,SAAS,CAACvG,OAAO,CAACS,YAAY,EAAEsC,eAAe,CAACyD,+BAA+B,EAAEzG,KAAK,CAAC4E,OAAO,CAAC;;EAG9G,MAAM;IAAE8B,OAAO;IAAEC,mBAAmB;IAAEC,uBAAuB;IAAEC;GAAgB,GAAGC,2BAA2B,CACzG9G,KAAK,EACLC,OAAO,EACP+D,OAAO,CACV;;EAGD,MAAM+C,YAAY,GAAwBC,cAAK,CAACC,OAAO,CAAC;;IACpD,MAAMC,qBAAqB,GAAGjF,MAAM,IAAIyE,OAAO,CAAC1E,IAAI,CAACmF,aAAa,IAAIA,aAAa,CAACjF,EAAE,KAAKD,MAAM,CAACC,EAAE,CAAC;IAErG,MAAMkF,KAAK,GAAwB;MAC/BC,WAAW,EAAEC,cAAc,CAAQZ,OAAO,EAAE1D,eAAe,CAACqE,WAAW,CAAC;MACxEE,YAAY,GAAAC,sBAAA,GAAExE,eAAe,CAACuE,YAAY,cAAAC,sBAAA,cAAAA,sBAAA,GAAIb,mBAAmB;MACjEc,gBAAgB,GAAAC,sBAAA,GAAE1E,eAAe,CAACyE,gBAAgB,cAAAC,sBAAA,cAAAA,sBAAA,GAAId,uBAAuB;MAC7Ee,OAAO,EAAE3E,eAAe,CAAC2E,OAAO,GAAG3E,eAAe,CAAC2E,OAAO,CAACpG,MAAM,CAAC2F,qBAAqB,CAAC,GAAGL;KAC9F;;IAGD,KAAAe,qBAAA,GAAK5H,KAAK,CAACgD,eAAuB,cAAA4E,qBAAA,eAA7BA,qBAAA,CAA+BC,aAAa,EAAE;MAAA,IAAAC,sBAAA;MAC/CV,KAAK,CAACS,aAAa,IAAAC,sBAAA,GAAI9H,KAAK,CAACgD,eAAuB,cAAA8E,sBAAA,uBAA7BA,sBAAA,CAA+BD,aAAa;;IAGvE,KAAAE,sBAAA,GAAK/H,KAAK,CAACgD,eAAuB,cAAA+E,sBAAA,eAA7BA,sBAAA,CAA+BC,YAAY,EAAE;MAAA,IAAAC,sBAAA;MAC9Cb,KAAK,CAACY,YAAY,IAAAC,sBAAA,GAAIjI,KAAK,CAACgD,eAAuB,cAAAiF,sBAAA,uBAA7BA,sBAAA,CAA+BD,YAAY;;IAGrE,OAAOZ,KAAK;GACf,EAAE,EAAE,CAAC;EAEN,MAAMc,WAAW,GAAGA;IAChB,MAAMd,KAAK,GAAGe,KAAK,CAACC,QAAQ,EAAE;IAC9B,OAAO;MACH5E,mBAAmB,EAAEJ,cAAc,CAACiF,iBAAiB;MACrDhB,WAAW,EAAE1D,cAAc,CAAC2E,SAAS,GAAGlB,KAAK,CAACC,WAAW,GAAG3E,SAAS;MACrE6E,YAAY,EAAEY,KAAK,CAAClI,OAAO,CAACK,oBAAoB,GAAG8G,KAAK,CAACG,YAAY,GAAG7E,SAAS;MACjF+E,gBAAgB,EAAEU,KAAK,CAAClI,OAAO,CAACU,YAAY,GAAGyG,KAAK,CAACK,gBAAgB,GAAG/E,SAAS;MACjF+D,+BAA+B,EAAEF,MAAM,CAACgC,uBAAuB;MAC/DnE,QAAQ,EAAEA,QAAQ,CAACkE,SAAS,GAAGlE,QAAQ,CAACoE,IAAI,GAAG9F,SAAS;MACxDsD,SAAS,EAAEA,SAAS,CAACsC,SAAS,GAAGtC,SAAS,CAACyC,MAAM,GAAG/F,SAAS;MAC7DmC,mCAAmC,EAAEJ,QAAQ,CAACiE,4BAA4B;MAC1Ef,OAAO,EAAEP,KAAK,CAACO;KAClB;GACJ;EAED,MAAMQ,KAAK,GAAGQ,aAAa,CAAQ;IAC/BC,IAAI,EAAE5I,KAAK,CAAC4I,IAAI;IAChBlC,OAAO;IACPmC,eAAe,EAAEA,eAAe,EAAE;IAClC9B,YAAY;IACZ,GAAG5G,YAAY;;IAEfkC,IAAI,EAAE;MACFe,cAAc;MACdO,cAAc;MACdE,UAAU;MACVG,OAAO;MACP8E,YAAY,EAAE7I,OAAO,CAAC6I,YAAY;MAClC1E,QAAQ;MACR8D,WAAW;MACX3D,UAAU;MACVwE,UAAU,EAAE/I,KAAK,CAACkC,EAAE,CAAC8G,QAAQ,CAAC,QAAQ,CAAC;MACvCC,aAAa,EAAE,CAAC,CAACjJ,KAAK,CAACkJ,QAAQ;MAC/BzE,QAAQ;MACRK,UAAU,EAAEA,UAAiB;MAC7BI,QAAQ,EAAEA,QAAe;MACzBG,OAAO;MACPG,OAAO;MACPI,OAAO;MACPI,SAAS;MACTK,YAAY;MACZE;;GAEP,CAAC;;EAGF4C,qBAAqB,CAAChB,KAAK,CAAC;EAC5BiB,uBAAuB,CAACjB,KAAK,CAAC;EAC9BkB,yBAAyB,CAAClB,KAAK,EAAEnI,KAAK,CAACkB,QAAQ,CAAC;EAChDoI,uBAAuB,CAACnB,KAAK,EAAEnI,KAAK,CAACuJ,WAAW,CAAC;EACjDC,wBAAwB,CAACrB,KAAK,EAAElF,WAAW,CAAC;EAC5CwG,oBAAoB,CAACtB,KAAK,EAAEnI,KAAK,CAAC0J,SAAS,CAAC;EAC5CC,wBAAwB,CAACxB,KAAK,EAAEnI,KAAK,CAACkJ,QAAQ,CAAC;EAC/CU,uBAAuB,CAACzB,KAAK,EAAEnI,KAAK,CAAC6C,MAAM,CAAC;EAE5C,OAAO;IAAEsF,KAAK;IAAE0B,MAAM,GAAAC,aAAA,GAAE9J,KAAK,CAAC6J,MAAM,cAAAC,aAAA,cAAAA,aAAA,GAAI9J,KAAK,CAAC4I,IAAI,CAACiB;GAAQ;AAC/D;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../../../src/components/Table3/types.ts"],"sourcesContent":["import {\n ColumnFilter as RTColumnFilter,\n ColumnOrderState,\n ColumnSizingState,\n ColumnSort as RTTableColumnSort,\n SortingState,\n VisibilityState,\n BuiltInSortingFn,\n} from '@tanstack/react-table';\nimport { MenuProps } from '../Menu/Menu';\n\nexport type Table3SortDirection = 'asc' | 'desc';\nexport type Table3SortFn<TType = unknown> =\n | ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1)\n | BuiltInSortingFn\n | 'auto';\n\n// columns\nexport type Table3ColumnRenderer<TValue = unknown, TType = unknown> = (\n value: TValue,\n row: TType\n) => JSX.Element | string | number | null;\nexport type Table3ColumnFooterRenderer<TValue = unknown> = (values: TValue[]) => JSX.Element | string | number | null;\nexport type Table3ColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string | undefined);\nexport type Table3ColumnAlignment = 'left' | 'center' | 'right';\nexport type Table3ColumnDataType = 'auto' | 'number' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';\nexport type Table3ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;\n\nexport type Table3ColumnControlProps = {\n className?: string;\n disabled?: boolean;\n invalid?: boolean;\n onBlur?: (value: any) => void;\n onFocus?: React.FocusEventHandler;\n readOnly?: boolean;\n ref: React.RefObject<HTMLElement>;\n setValue: (value: any) => void;\n value: any;\n};\nexport type Table3ColumnControlRenderer<TType = unknown> =\n | ((props: Table3ColumnControlProps, row?: TType) => JSX.Element)\n | 'datepicker'\n | 'input'\n | 'switch'\n | 'textarea';\n\ntype ValueOf<T> = T[keyof T];\n\nexport type Table3ColumnProps<TType = unknown> = ValueOf<{\n [K in keyof TType]: {\n accessor: K;\n } & {\n align?: Table3ColumnAlignment;\n className?: Table3ColumnClassNameHandler<TType>;\n control?: Table3ColumnControlRenderer<TType>;\n dataType?: Table3ColumnDataType;\n defaultHidden?: boolean;\n defaultWidth?: number | 'grow';\n enableFiltering?: boolean;\n enableHiding?: boolean;\n enableOrdering?: boolean;\n enablePrinting?: boolean;\n enableResizing?: boolean;\n enableSearch?: boolean;\n enableSorting?: boolean;\n enableTruncate?: boolean;\n filters?: Table3FilterComparator[];\n footer?: Table3ColumnFooterRenderer;\n header: string;\n headerClassName?: string;\n menu?: Table3ColumnHeaderMenu;\n minWidth?: number;\n renderer?: Table3ColumnRenderer<TType[K], TType>;\n sort?: Table3SortDirection;\n sortFn?: Table3SortFn<TType>;\n tooltip?: string;\n };\n}>;\n\n// rows\nexport type DeprecatedRowDensity = 'compact' | 'normal' | 'comfortable' | 'spacious';\nexport type Table3RowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type Table3FontSize = 'small' | 'medium' | 'large';\nexport type Table3RowClickHandler<TType = unknown> = (row: TType) => void;\nexport type Table3RowDragHandler<TType = unknown> = (\n rows: TType[],\n showPlaceholder: (string) => void,\n setDataTransfer: (data: string) => void\n) => void;\nexport type Table3RowDropHandler<TType = any> = (event: React.DragEvent, row: TType) => void;\nexport type Table3RowExpansionRenderer<TType = unknown> = (row: TType) => (() => JSX.Element) | null;\nexport type Table3RowSelectionHandler<TType = unknown> = (rows: TType[]) => void;\nexport type Table3RowActionRenderer<TType = unknown> = (row: TType) => JSX.Element | null;\n\n// table\nexport type Table3Preset = 'display' | 'editable';\nexport type Table3Settings = {\n columnFreezingIndex?: number;\n columnOrder?: ColumnOrderState;\n columnSizing?: ColumnSizingState;\n columnVisibility?: VisibilityState;\n excludeUnmatchedRecordsInSearch?: boolean;\n fontSize?: Table3FontSize;\n rowHeight?: Table3RowHeight;\n showWarningWhenPrintingLargeDataset?: boolean;\n sorting?: SortingState;\n};\nexport type Table3SettingsHandler = (settings: Table3Settings) => void | Promise<void>;\n\nexport enum Table3FilterComparator {\n Contains,\n DoesNotContain,\n IsEqualTo,\n IsNotEqualTo,\n IsGreaterThan,\n IsLessThan,\n IsBetween,\n IsEmpty,\n IsNotEmpty,\n IsLessThanOrEqualTo,\n IsGreaterThanOrEqualTo,\n HasAnyOf,\n HasAllOf,\n HasNoneOf,\n}\n\nexport type Table3FilterValue = {\n comparator: Table3FilterComparator;\n value: any;\n};\n\nexport type Table3Filter = { id: string; value: Table3FilterValue };\n\nexport type ColumnFilter = RTColumnFilter;\nexport type Table3FilterHandler = (filters: ColumnFilter[]) => void;\nexport type Table3LoadPageHandler = (\n pageIndex: number,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3LoadAllHandler = (\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3RowGotoHandler = (\n column: string,\n query: string,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<number>;\nexport type Table3ColumnSort = RTTableColumnSort;\nexport type Table3SortHandler = (sorting: Table3ColumnSort[]) => void;\nexport type TableStrategy = {\n renderBody: () => JSX.Element | JSX.Element[] | null;\n scrollToIndex: (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\n};\nexport type Table3ShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type Table3ShortcutHandlerObject<TType = unknown> = {\n handler: Table3ShortcutHandlerFn<TType>;\n meta?: boolean;\n shift?: boolean;\n};\nexport type Table3Shortcuts<TType = unknown> = Record<\n string,\n Table3ShortcutHandlerFn<TType> | Table3ShortcutHandlerObject<TType>\n>;\nexport type Table3SaveHandler<TType = unknown> = (data: TType) => Promise<void>;\n\nexport type Table3Options = {\n enableColumnFreezing: boolean;\n enableColumnHiding: boolean;\n enableColumnOrdering: boolean;\n enableColumnResizing: boolean;\n enableFontSize: boolean;\n enableFooter: boolean;\n enablePrinting: boolean;\n enableRowDrag: boolean;\n enableRowDrop: boolean;\n enableRowExpansion: boolean;\n enableRowGoto: boolean;\n enableRowHeight: boolean;\n enableRowSelection: boolean;\n enableRowSelectionSingle: boolean;\n enableEditing: boolean;\n enableFiltering: boolean;\n enableSearch: boolean;\n enableSorting: boolean;\n};\n\nexport type Table3CommonProps<TType = unknown> = Partial<Table3Options> & {\n actionsForRow?: Table3RowActionRenderer<TType>[];\n actionsForRowLength?: number;\n autoFocus?: boolean;\n children: (JSX.Element | boolean | null | undefined)[];\n data: TType[];\n defaultColumnFreezingIndex?: number;\n defaultCurrentRowIndex?: number;\n defaultSettings?: Table3Settings;\n emptyState?: () => JSX.Element | null;\n expandedRowRenderer?: Table3RowExpansionRenderer<TType>;\n id: string;\n onChangeSettings?: Table3SettingsHandler;\n onRowClick?: Table3RowClickHandler<TType>;\n onRowDrag?: Table3RowDragHandler<TType>;\n onRowDrop?: Table3RowDropHandler<TType>;\n onRowGoto?: Table3RowGotoHandler;\n onRowSelect?: Table3RowSelectionHandler<TType>;\n onFilter?: Table3FilterHandler;\n onSave?: Table3SaveHandler<TType>;\n onSort?: Table3SortHandler;\n preset?: Table3Preset;\n shortcuts?: Table3Shortcuts<TType>;\n toolbarLeft?: JSX.Element;\n toolbarRight?: JSX.Element;\n};\n\ninterface Table3ClientProps<TType = unknown> extends Table3CommonProps<TType> {\n length?: never;\n loadPage?: never;\n loadAll?: never;\n pageSize?: never;\n}\n\ninterface Table3ServerProps<TType = unknown> extends Table3CommonProps<TType> {\n length: number | undefined;\n loadPage: Table3LoadPageHandler;\n loadAll: Table3LoadAllHandler;\n pageSize?: number;\n}\n\nexport type Table3Props<TType = unknown> = Table3ClientProps<TType> | Table3ServerProps<TType>;\n\nexport type Table3Ref = HTMLDivElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n toggleEditing: (enabled: boolean | undefined) => void;\n };\n};\n\nexport type Table3Texts = {\n columns: {\n actions: {\n tooltip: string;\n };\n drag: {\n tooltip: string;\n };\n expansion: {\n collapse: string;\n collapseAll: string;\n expand: string;\n expandAll: string;\n };\n menu: {\n freezeFirstColumn: string;\n freezeUptoColumn: string;\n gotoRow: string;\n hideColumn: string;\n unfreezeColumns: string;\n sorting: string;\n sortingOrder: {\n ascending: string;\n descending: string;\n unsorted: string;\n };\n };\n resize: {\n tooltip: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n };\n columnSettings: {\n button: string;\n noResults: string;\n search: string;\n tooltip: string;\n };\n editing: {\n actions: {\n tooltip: string;\n save: string;\n clear: string;\n exit: string;\n };\n buttons: {\n edit: {\n text: string;\n tooltip: string;\n };\n };\n rowIndicator: {\n rowWillMove: string;\n rowWillBeHidden: string;\n rowWillMoveReasonSearch: string;\n rowWillMoveReasonFilter: string;\n rowWillMoveReasonSorting: string;\n };\n saving: {\n progress: string;\n complete: string;\n };\n };\n filters: {\n button: string;\n buttons: {\n addFilter: string;\n clearFilters: string;\n };\n comparators: {\n contains: string;\n doesNotContain: string;\n isEqualTo: string;\n isNotEqualTo: string;\n isGreaterThan: string;\n isLessThan: string;\n isBetween: string;\n isEmpty: string;\n isNotEmpty: string;\n isBefore: string;\n isAfter: string;\n isLessThanOrEqualTo: string;\n isGreaterThanOrEqualTo: string;\n isOnOrBefore: string;\n isOnOrAfter: string;\n hasAnyOf: string;\n hasAllOf: string;\n hasNoneOf: string;\n };\n conditions: {\n and: string;\n where: string;\n };\n emptyFilter: {\n condition: string;\n value: string;\n };\n tooltip: string;\n total: string;\n };\n fontSize: {\n tooltip: string;\n sizes: {\n small: string;\n medium: string;\n large: string;\n };\n };\n footer: {\n summary: {\n count: string;\n records: string;\n selected: string;\n };\n };\n print: {\n error: string;\n loading: string;\n tooltip: string;\n warningDialog: {\n title: string;\n description: string;\n checkboxVisibilityLabel: string;\n cancelButtonText: string;\n printButtonText: string;\n };\n };\n rowHeight: {\n tooltip: string;\n sizes: {\n short: string;\n medium: string;\n tall: string;\n extraTall: string;\n };\n };\n search: {\n excludeUnmatchedResults: string;\n placeholder: string;\n };\n otherOptions: {\n tooltip: string;\n };\n};\n"],"names":["Table3FilterComparator"],"mappings":"IA6GYA;AAAZ,WAAYA,sBAAsB;EAC9BA,2EAAQ;EACRA,uFAAc;EACdA,6EAAS;EACTA,mFAAY;EACZA,qFAAa;EACbA,+EAAU;EACVA,6EAAS;EACTA,yEAAO;EACPA,+EAAU;EACVA,iGAAmB;EACnBA,wGAAsB;EACtBA,4EAAQ;EACRA,4EAAQ;EACRA,8EAAS;AACb,CAAC,EAfWA,sBAAsB,KAAtBA,sBAAsB;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../../../../../src/components/Table3/types.ts"],"sourcesContent":["import {\n ColumnFilter as RTColumnFilter,\n ColumnOrderState,\n ColumnSizingState,\n ColumnSort as RTTableColumnSort,\n SortingState,\n VisibilityState,\n BuiltInSortingFn,\n} from '@tanstack/react-table';\nimport { MenuProps } from '../Menu/Menu';\nimport { MenuItemProps } from '../Menu/components/Item';\n\nexport type Table3SortDirection = 'asc' | 'desc';\nexport type Table3SortFn<TType = unknown> =\n | ((rowA: TType, rowB: TType, columnId: string) => -1 | 0 | 1)\n | BuiltInSortingFn\n | 'auto';\n\n// columns\nexport type Table3ColumnRenderer<TValue = unknown, TType = unknown> = (\n value: TValue,\n row: TType\n) => JSX.Element | string | number | null;\nexport type Table3ColumnFooterRenderer<TValue = unknown> = (values: TValue[]) => JSX.Element | string | number | null;\nexport type Table3ColumnClassNameHandler<TType = unknown> = string | ((row: TType) => string | undefined);\nexport type Table3ColumnAlignment = 'left' | 'center' | 'right';\nexport type Table3ColumnDataType = 'auto' | 'number' | 'alphanumeric' | 'alphanumericCaseSensitive' | 'datetime' | 'boolean';\nexport type Table3ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;\n\nexport type Table3ColumnControlProps = {\n className?: string;\n disabled?: boolean;\n invalid?: boolean;\n onBlur?: (value: any) => void;\n onFocus?: React.FocusEventHandler;\n readOnly?: boolean;\n ref: React.RefObject<HTMLElement>;\n setValue: (value: any) => void;\n value: any;\n};\nexport type Table3ColumnControlRenderer<TType = unknown> =\n | ((props: Table3ColumnControlProps, row?: TType) => JSX.Element)\n | 'datepicker'\n | 'input'\n | 'switch'\n | 'textarea';\n\ntype ValueOf<T> = T[keyof T];\n\nexport type Table3ColumnProps<TType = unknown> = ValueOf<{\n [K in keyof TType]: {\n accessor: K;\n } & {\n align?: Table3ColumnAlignment;\n className?: Table3ColumnClassNameHandler<TType>;\n control?: Table3ColumnControlRenderer<TType>;\n dataType?: Table3ColumnDataType;\n defaultHidden?: boolean;\n defaultWidth?: number | 'grow';\n enableFiltering?: boolean;\n enableHiding?: boolean;\n enableOrdering?: boolean;\n enablePrinting?: boolean;\n enableResizing?: boolean;\n enableSearch?: boolean;\n enableSorting?: boolean;\n enableTruncate?: boolean;\n filters?: Table3FilterComparator[];\n footer?: Table3ColumnFooterRenderer;\n header: string;\n headerClassName?: string;\n menu?: Table3ColumnHeaderMenu;\n minWidth?: number;\n renderer?: Table3ColumnRenderer<TType[K], TType>;\n sort?: Table3SortDirection;\n sortFn?: Table3SortFn<TType>;\n tooltip?: string;\n };\n}>;\n\n// rows\nexport type DeprecatedRowDensity = 'compact' | 'normal' | 'comfortable' | 'spacious';\nexport type Table3RowHeight = 'short' | 'medium' | 'tall' | 'extra-tall';\nexport type Table3FontSize = 'small' | 'medium' | 'large';\nexport type Table3RowClickHandler<TType = unknown> = (row: TType) => void;\nexport type Table3RowDragHandler<TType = unknown> = (\n rows: TType[],\n showPlaceholder: (string) => void,\n setDataTransfer: (data: string) => void\n) => void;\nexport type Table3RowDropHandler<TType = any> = (event: React.DragEvent, row: TType) => void;\nexport type Table3RowExpansionRenderer<TType = unknown> = (row: TType) => (() => JSX.Element) | null;\nexport type Table3RowSelectionHandler<TType = unknown> = (rows: TType[]) => void;\nexport type Table3RowActionRenderer<TType = unknown> = (row: TType) => JSX.Element | null;\n\n// table\nexport type Table3Preset = 'display' | 'editable';\nexport type Table3Settings = {\n columnFreezingIndex?: number;\n columnOrder?: ColumnOrderState;\n columnSizing?: ColumnSizingState;\n columnVisibility?: VisibilityState;\n excludeUnmatchedRecordsInSearch?: boolean;\n fontSize?: Table3FontSize;\n rowHeight?: Table3RowHeight;\n showWarningWhenPrintingLargeDataset?: boolean;\n sorting?: SortingState;\n};\nexport type Table3SettingsHandler = (settings: Table3Settings) => void | Promise<void>;\n\nexport enum Table3FilterComparator {\n Contains,\n DoesNotContain,\n IsEqualTo,\n IsNotEqualTo,\n IsGreaterThan,\n IsLessThan,\n IsBetween,\n IsEmpty,\n IsNotEmpty,\n IsLessThanOrEqualTo,\n IsGreaterThanOrEqualTo,\n HasAnyOf,\n HasAllOf,\n HasNoneOf,\n}\n\nexport type Table3FilterValue = {\n comparator: Table3FilterComparator;\n value: any;\n};\n\nexport type Table3Filter = { id: string; value: Table3FilterValue };\n\nexport type ColumnFilter = RTColumnFilter;\nexport type Table3FilterHandler = (filters: ColumnFilter[]) => void;\nexport type Table3LoadPageHandler = (\n pageIndex: number,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3LoadAllHandler = (\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<void>;\nexport type Table3RowGotoHandler = (\n column: string,\n query: string,\n sorting: Table3ColumnSort[],\n filters: ColumnFilter[],\n search: string | undefined\n) => Promise<number>;\nexport type Table3ColumnSort = RTTableColumnSort;\nexport type Table3SortHandler = (sorting: Table3ColumnSort[]) => void;\nexport type TableStrategy = {\n renderBody: () => JSX.Element | JSX.Element[] | null;\n scrollToIndex: (index: number, options?: { align: 'start' | 'center' | 'end' | 'auto' }) => void;\n};\nexport type Table3ShortcutHandlerFn<TType = unknown> = (row: TType) => void;\nexport type Table3ShortcutHandlerObject<TType = unknown> = {\n handler: Table3ShortcutHandlerFn<TType>;\n meta?: boolean;\n shift?: boolean;\n};\nexport type Table3Shortcuts<TType = unknown> = Record<\n string,\n Table3ShortcutHandlerFn<TType> | Table3ShortcutHandlerObject<TType>\n>;\nexport type Table3SaveHandler<TType = unknown> = (data: TType) => Promise<void>;\n\nexport type Table3Options = {\n enableColumnFreezing: boolean;\n enableColumnHiding: boolean;\n enableColumnOrdering: boolean;\n enableColumnResizing: boolean;\n enableFontSize: boolean;\n enableFooter: boolean;\n enablePrinting: boolean;\n enableRowDrag: boolean;\n enableRowDrop: boolean;\n enableRowExpansion: boolean;\n enableRowGoto: boolean;\n enableRowHeight: boolean;\n enableRowSelection: boolean;\n enableRowSelectionSingle: boolean;\n enableEditing: boolean;\n enableFiltering: boolean;\n enableSearch: boolean;\n enableSorting: boolean;\n};\n\nexport type Table3CustomSettingRenderer = (props: Table3Settings) => React.ReactElement<MenuItemProps> | null;\n\nexport type Table3CommonProps<TType = unknown> = Partial<Table3Options> & {\n actionsForRow?: Table3RowActionRenderer<TType>[];\n actionsForRowLength?: number;\n autoFocus?: boolean;\n children: (JSX.Element | boolean | null | undefined)[];\n customSettings?: Table3CustomSettingRenderer[];\n data: TType[];\n defaultColumnFreezingIndex?: number;\n defaultCurrentRowIndex?: number;\n defaultSettings?: Table3Settings;\n emptyState?: () => JSX.Element | null;\n expandedRowRenderer?: Table3RowExpansionRenderer<TType>;\n id: string;\n onChangeSettings?: Table3SettingsHandler;\n onRowClick?: Table3RowClickHandler<TType>;\n onRowDrag?: Table3RowDragHandler<TType>;\n onRowDrop?: Table3RowDropHandler<TType>;\n onRowGoto?: Table3RowGotoHandler;\n onRowSelect?: Table3RowSelectionHandler<TType>;\n onFilter?: Table3FilterHandler;\n onSave?: Table3SaveHandler<TType>;\n onSort?: Table3SortHandler;\n preset?: Table3Preset;\n shortcuts?: Table3Shortcuts<TType>;\n toolbarLeft?: JSX.Element;\n toolbarRight?: JSX.Element;\n};\n\ninterface Table3ClientProps<TType = unknown> extends Table3CommonProps<TType> {\n length?: never;\n loadPage?: never;\n loadAll?: never;\n pageSize?: never;\n}\n\ninterface Table3ServerProps<TType = unknown> extends Table3CommonProps<TType> {\n length: number | undefined;\n loadPage: Table3LoadPageHandler;\n loadAll: Table3LoadAllHandler;\n pageSize?: number;\n}\n\nexport type Table3Props<TType = unknown> = Table3ClientProps<TType> | Table3ServerProps<TType>;\n\nexport type Table3Ref = HTMLDivElement & {\n instance: {\n resetFiltering: () => void;\n resetRowExpansion: () => void;\n resetRowSelection: () => void;\n resetSorting: () => void;\n toggleEditing: (enabled: boolean | undefined) => void;\n };\n};\n\nexport type Table3Texts = {\n columns: {\n actions: {\n tooltip: string;\n };\n drag: {\n tooltip: string;\n };\n expansion: {\n collapse: string;\n collapseAll: string;\n expand: string;\n expandAll: string;\n };\n menu: {\n freezeFirstColumn: string;\n freezeUptoColumn: string;\n gotoRow: string;\n hideColumn: string;\n unfreezeColumns: string;\n sorting: string;\n sortingOrder: {\n ascending: string;\n descending: string;\n unsorted: string;\n };\n };\n resize: {\n tooltip: string;\n };\n select: {\n deselect: string;\n deselectAll: string;\n select: string;\n selectAll: string;\n };\n };\n columnSettings: {\n button: string;\n noResults: string;\n search: string;\n tooltip: string;\n };\n editing: {\n actions: {\n tooltip: string;\n save: string;\n clear: string;\n exit: string;\n };\n buttons: {\n edit: {\n text: string;\n tooltip: string;\n };\n };\n rowIndicator: {\n rowWillMove: string;\n rowWillBeHidden: string;\n rowWillMoveReasonSearch: string;\n rowWillMoveReasonFilter: string;\n rowWillMoveReasonSorting: string;\n };\n saving: {\n progress: string;\n complete: string;\n };\n };\n filters: {\n button: string;\n buttons: {\n addFilter: string;\n clearFilters: string;\n };\n comparators: {\n contains: string;\n doesNotContain: string;\n isEqualTo: string;\n isNotEqualTo: string;\n isGreaterThan: string;\n isLessThan: string;\n isBetween: string;\n isEmpty: string;\n isNotEmpty: string;\n isBefore: string;\n isAfter: string;\n isLessThanOrEqualTo: string;\n isGreaterThanOrEqualTo: string;\n isOnOrBefore: string;\n isOnOrAfter: string;\n hasAnyOf: string;\n hasAllOf: string;\n hasNoneOf: string;\n };\n conditions: {\n and: string;\n where: string;\n };\n emptyFilter: {\n condition: string;\n value: string;\n };\n tooltip: string;\n total: string;\n };\n fontSize: {\n tooltip: string;\n sizes: {\n small: string;\n medium: string;\n large: string;\n };\n };\n footer: {\n summary: {\n count: string;\n records: string;\n selected: string;\n };\n };\n print: {\n error: string;\n loading: string;\n tooltip: string;\n warningDialog: {\n title: string;\n description: string;\n checkboxVisibilityLabel: string;\n cancelButtonText: string;\n printButtonText: string;\n };\n };\n rowHeight: {\n tooltip: string;\n sizes: {\n short: string;\n medium: string;\n tall: string;\n extraTall: string;\n };\n };\n search: {\n excludeUnmatchedResults: string;\n placeholder: string;\n };\n otherOptions: {\n tooltip: string;\n };\n};\n"],"names":["Table3FilterComparator"],"mappings":"IA8GYA;AAAZ,WAAYA,sBAAsB;EAC9BA,2EAAQ;EACRA,uFAAc;EACdA,6EAAS;EACTA,mFAAY;EACZA,qFAAa;EACbA,+EAAU;EACVA,6EAAS;EACTA,yEAAO;EACPA,+EAAU;EACVA,iGAAmB;EACnBA,wGAAsB;EACtBA,4EAAQ;EACRA,4EAAQ;EACRA,8EAAS;AACb,CAAC,EAfWA,sBAAsB,KAAtBA,sBAAsB;;;;"}
@@ -4,31 +4,29 @@ import { Root, Trigger, Portal, Content, Arrow } from '@radix-ui/react-tooltip';
4
4
 
5
5
  const Tooltip = /*#__PURE__*/forwardRef(function Tooltip(props, ref) {
6
6
  const {
7
- title,
8
7
  children,
9
8
  placement,
9
+ title,
10
10
  ...otherProps
11
11
  } = props;
12
- const className = cn(otherProps.className);
12
+ const className = cn('xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900 px-2 py-1 text-xs font-bold text-white', otherProps.className);
13
+ const style = {
14
+ transformOrigin: 'var(--radix-tooltip-content-transform-origin)'
15
+ };
13
16
  return /*#__PURE__*/createElement(Root, {
14
17
  delayDuration: 250
15
18
  }, /*#__PURE__*/createElement(Trigger, {
16
19
  asChild: true,
17
20
  ref: ref
18
21
  }, children), /*#__PURE__*/createElement(Portal, null, /*#__PURE__*/createElement(Content, Object.assign({}, otherProps, {
19
- asChild: true,
20
22
  className: className,
21
- side: placement,
22
- sideOffset: 3
23
- }), /*#__PURE__*/createElement("div", {
24
- className: "xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900 px-2 py-1 text-xs font-bold text-white",
25
23
  "data-taco": "tooltip",
26
- style: {
27
- transformOrigin: 'var(--radix-tooltip-content-transform-origin)'
28
- }
29
- }, /*#__PURE__*/createElement(Arrow, {
24
+ side: placement,
25
+ sideOffset: 3,
26
+ style: style
27
+ }), /*#__PURE__*/createElement(Arrow, {
30
28
  className: "-mt-px fill-blue-900/90 stroke-blue-900/90"
31
- }), title))));
29
+ }), title)));
32
30
  });
33
31
 
34
32
  export { Tooltip };
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport cn from 'classnames';\n\nexport type TooltipProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> & {\n /** The element which activates the tooltip when hovered. Should be a single React/HTML element */\n children: React.ReactElement | any;\n /** Text displayed in the tooltip */\n title: string | JSX.Element;\n /**\n * Placement of the tooltip relative to the reference element. Placement will be reversed if a collision occurs\n * @defaultValue bottom\n */\n placement?: 'top' | 'right' | 'bottom' | 'left';\n};\n\nexport const Tooltip = React.forwardRef(function Tooltip(props: TooltipProps, ref: React.Ref<HTMLElement>) {\n const { title, children, placement, ...otherProps } = props;\n const className = cn(otherProps.className);\n\n return (\n <TooltipPrimitive.Root delayDuration={250}>\n <TooltipPrimitive.Trigger asChild ref={ref as any}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content {...otherProps} asChild className={className} side={placement} sideOffset={3}>\n <div\n className=\"xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900 px-2 py-1 text-xs font-bold text-white\"\n data-taco=\"tooltip\"\n style={{\n transformOrigin: 'var(--radix-tooltip-content-transform-origin)',\n }}>\n <TooltipPrimitive.Arrow className=\"-mt-px fill-blue-900/90 stroke-blue-900/90\" />\n {title}\n </div>\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n});\n"],"names":["Tooltip","React","props","ref","title","children","placement","otherProps","className","cn","TooltipPrimitive","delayDuration","asChild","side","sideOffset","style","transformOrigin"],"mappings":";;;;MAgBaA,OAAO,gBAAGC,UAAgB,CAAC,SAASD,OAAOA,CAACE,KAAmB,EAAEC,GAA2B;EACrG,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,SAAS;IAAE,GAAGC;GAAY,GAAGL,KAAK;EAC3D,MAAMM,SAAS,GAAGC,EAAE,CAACF,UAAU,CAACC,SAAS,CAAC;EAE1C,oBACIP,cAACS,IAAqB;IAACC,aAAa,EAAE;kBAClCV,cAACS,OAAwB;IAACE,OAAO;IAACT,GAAG,EAAEA;KAClCE,QAAQ,CACc,eAC3BJ,cAACS,MAAuB,qBACpBT,cAACS,OAAwB,oBAAKH,UAAU;IAAEK,OAAO;IAACJ,SAAS,EAAEA,SAAS;IAAEK,IAAI,EAAEP,SAAS;IAAEQ,UAAU,EAAE;mBACjGb;IACIO,SAAS,EAAC,8IAA8I;iBAC9I,SAAS;IACnBO,KAAK,EAAE;MACHC,eAAe,EAAE;;kBAErBf,cAACS,KAAsB;IAACF,SAAS,EAAC;IAA+C,EAChFJ,KAAK,CACJ,CACiB,CACL,CACN;AAEhC,CAAC;;;;"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport cn from 'classnames';\n\nexport type TooltipProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> & {\n /** The element which activates the tooltip when hovered. Should be a single React/HTML element */\n children: React.ReactElement | any;\n /** Text displayed in the tooltip */\n title: string | JSX.Element;\n /**\n * Placement of the tooltip relative to the reference element. Placement will be reversed if a collision occurs\n * @defaultValue bottom\n */\n placement?: 'top' | 'right' | 'bottom' | 'left';\n};\n\nexport const Tooltip = React.forwardRef(function Tooltip(props: TooltipProps, ref: React.Ref<HTMLElement>) {\n const { children, placement, title, ...otherProps } = props;\n\n const className = cn(\n 'xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900 px-2 py-1 text-xs font-bold text-white',\n otherProps.className\n );\n const style = { transformOrigin: 'var(--radix-tooltip-content-transform-origin)' };\n\n return (\n <TooltipPrimitive.Root delayDuration={250}>\n <TooltipPrimitive.Trigger asChild ref={ref as any}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n {...otherProps}\n className={className}\n data-taco=\"tooltip\"\n side={placement}\n sideOffset={3}\n style={style}>\n <TooltipPrimitive.Arrow className=\"-mt-px fill-blue-900/90 stroke-blue-900/90\" />\n {title}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n});\n"],"names":["Tooltip","React","props","ref","children","placement","title","otherProps","className","cn","style","transformOrigin","TooltipPrimitive","delayDuration","asChild","side","sideOffset"],"mappings":";;;;MAgBaA,OAAO,gBAAGC,UAAgB,CAAC,SAASD,OAAOA,CAACE,KAAmB,EAAEC,GAA2B;EACrG,MAAM;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,KAAK;IAAE,GAAGC;GAAY,GAAGL,KAAK;EAE3D,MAAMM,SAAS,GAAGC,EAAE,CAChB,8IAA8I,EAC9IF,UAAU,CAACC,SAAS,CACvB;EACD,MAAME,KAAK,GAAG;IAAEC,eAAe,EAAE;GAAiD;EAElF,oBACIV,cAACW,IAAqB;IAACC,aAAa,EAAE;kBAClCZ,cAACW,OAAwB;IAACE,OAAO;IAACX,GAAG,EAAEA;KAClCC,QAAQ,CACc,eAC3BH,cAACW,MAAuB,qBACpBX,cAACW,OAAwB,oBACjBL,UAAU;IACdC,SAAS,EAAEA,SAAS;iBACV,SAAS;IACnBO,IAAI,EAAEV,SAAS;IACfW,UAAU,EAAE,CAAC;IACbN,KAAK,EAAEA;mBACPT,cAACW,KAAsB;IAACJ,SAAS,EAAC;IAA+C,EAChFF,KAAK,CACiB,CACL,CACN;AAEhC,CAAC;;;;"}
@@ -3983,31 +3983,29 @@ const Button = /*#__PURE__*/React.forwardRef(function Button(props, ref) {
3983
3983
 
3984
3984
  const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(props, ref) {
3985
3985
  const {
3986
- title,
3987
3986
  children,
3988
3987
  placement,
3988
+ title,
3989
3989
  ...otherProps
3990
3990
  } = props;
3991
- const className = cn(otherProps.className);
3991
+ const className = cn('xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900 px-2 py-1 text-xs font-bold text-white', otherProps.className);
3992
+ const style = {
3993
+ transformOrigin: 'var(--radix-tooltip-content-transform-origin)'
3994
+ };
3992
3995
  return /*#__PURE__*/React.createElement(TooltipPrimitive.Root, {
3993
3996
  delayDuration: 250
3994
3997
  }, /*#__PURE__*/React.createElement(TooltipPrimitive.Trigger, {
3995
3998
  asChild: true,
3996
3999
  ref: ref
3997
4000
  }, children), /*#__PURE__*/React.createElement(TooltipPrimitive.Portal, null, /*#__PURE__*/React.createElement(TooltipPrimitive.Content, Object.assign({}, otherProps, {
3998
- asChild: true,
3999
4001
  className: className,
4000
- side: placement,
4001
- sideOffset: 3
4002
- }), /*#__PURE__*/React.createElement("div", {
4003
- className: "xs:max-w-[theme(spacing.56)] max-w-[theme(spacing.32)] animate-[fade-in_150ms] rounded-sm bg-blue-900 px-2 py-1 text-xs font-bold text-white",
4004
4002
  "data-taco": "tooltip",
4005
- style: {
4006
- transformOrigin: 'var(--radix-tooltip-content-transform-origin)'
4007
- }
4008
- }, /*#__PURE__*/React.createElement(TooltipPrimitive.Arrow, {
4003
+ side: placement,
4004
+ sideOffset: 3,
4005
+ style: style
4006
+ }), /*#__PURE__*/React.createElement(TooltipPrimitive.Arrow, {
4009
4007
  className: "-mt-px fill-blue-900/90 stroke-blue-900/90"
4010
- }), title))));
4008
+ }), title)));
4011
4009
  });
4012
4010
 
4013
4011
  const getButtonClasses = () => {
@@ -7864,11 +7862,12 @@ const RadioGroup$1 = /*#__PURE__*/React.forwardRef(function MenuRadioItem(props,
7864
7862
  });
7865
7863
  RadioGroup$1.Item = RadioItem;
7866
7864
 
7867
- const Separator = () => {
7868
- return /*#__PURE__*/React.createElement(DropdownMenuPrimitive.Separator, {
7869
- className: "bg-grey-300 my-1 h-px"
7870
- });
7871
- };
7865
+ const Separator = /*#__PURE__*/React.forwardRef((props, ref) => {
7866
+ return /*#__PURE__*/React.createElement(DropdownMenuPrimitive.Separator, Object.assign({}, props, {
7867
+ className: "bg-grey-300 my-1 h-px",
7868
+ ref: ref
7869
+ }));
7870
+ });
7872
7871
 
7873
7872
  const Header = /*#__PURE__*/React.forwardRef(function MenuHeader(props, ref) {
7874
7873
  const menu = useCurrentMenu();
@@ -16977,18 +16976,7 @@ function useSettingsStateListener$1(table, onChangeSettings) {
16977
16976
  let handler;
16978
16977
  if (typeof onChangeSettings === 'function') {
16979
16978
  handler = setTimeout(() => {
16980
- onChangeSettings({
16981
- // adding a new setting? you need to add it to the print settings in PrintButton.tsx!
16982
- columnFreezingIndex: meta.columnFreezing.frozenColumnIndex,
16983
- columnOrder: meta.columnOrdering.isEnabled ? state.columnOrder : undefined,
16984
- columnSizing: table.options.enableColumnResizing ? state.columnSizing : undefined,
16985
- columnVisibility: table.options.enableHiding ? state.columnVisibility : undefined,
16986
- excludeUnmatchedRecordsInSearch: meta.search.excludeUnmatchedResults,
16987
- fontSize: meta.fontSize.isEnabled ? meta.fontSize.size : undefined,
16988
- rowHeight: meta.rowHeight.isEnabled ? meta.rowHeight.height : undefined,
16989
- showWarningWhenPrintingLargeDataset: meta.printing.printWarningDialogVisibility,
16990
- sorting: state.sorting
16991
- });
16979
+ onChangeSettings(meta.getSettings());
16992
16980
  }, 250);
16993
16981
  }
16994
16982
  return () => clearTimeout(handler);
@@ -18938,6 +18926,20 @@ function useTable$2(props) {
18938
18926
  }
18939
18927
  return state;
18940
18928
  }, []);
18929
+ const getSettings = () => {
18930
+ const state = table.getState();
18931
+ return {
18932
+ columnFreezingIndex: columnFreezing.frozenColumnIndex,
18933
+ columnOrder: columnOrdering.isEnabled ? state.columnOrder : undefined,
18934
+ columnSizing: table.options.enableColumnResizing ? state.columnSizing : undefined,
18935
+ columnVisibility: table.options.enableHiding ? state.columnVisibility : undefined,
18936
+ excludeUnmatchedRecordsInSearch: search.excludeUnmatchedResults,
18937
+ fontSize: fontSize.isEnabled ? fontSize.size : undefined,
18938
+ rowHeight: rowHeight.isEnabled ? rowHeight.height : undefined,
18939
+ showWarningWhenPrintingLargeDataset: printing.printWarningDialogVisibility,
18940
+ sorting: state.sorting
18941
+ };
18942
+ };
18941
18943
  const table = reactTable$1.useReactTable({
18942
18944
  data: props.data,
18943
18945
  columns,
@@ -18952,6 +18954,7 @@ function useTable$2(props) {
18952
18954
  editing,
18953
18955
  enableFooter: options.enableFooter,
18954
18956
  fontSize,
18957
+ getSettings,
18955
18958
  hoverState,
18956
18959
  isPrinting: props.id.endsWith('_print'),
18957
18960
  isUsingServer: !!props.loadPage,
@@ -20771,6 +20774,7 @@ function FontSize$1(props) {
20771
20774
 
20772
20775
  function SettingsButton(props) {
20773
20776
  const {
20777
+ customSettings,
20774
20778
  table
20775
20779
  } = props;
20776
20780
  const {
@@ -20813,7 +20817,10 @@ function SettingsButton(props) {
20813
20817
  subMenu: () => /*#__PURE__*/React__default.createElement(FontSize$1, {
20814
20818
  table: table
20815
20819
  })
20816
- }, texts.table3.fontSize.tooltip) : null)),
20820
+ }, texts.table3.fontSize.tooltip) : null, customSettings ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Menu$1.Separator, null), customSettings.map(customSetting => {
20821
+ const props = tableMeta.getSettings();
20822
+ return customSetting(props);
20823
+ })) : null)),
20817
20824
  popover: popoverElement,
20818
20825
  onClickCapture: event => event.preventDefault(),
20819
20826
  tooltip: texts.table3.otherOptions.tooltip
@@ -20822,6 +20829,7 @@ function SettingsButton(props) {
20822
20829
 
20823
20830
  function Toolbar(props) {
20824
20831
  const {
20832
+ customSettings,
20825
20833
  left,
20826
20834
  right,
20827
20835
  scrollToIndex,
@@ -20847,7 +20855,8 @@ function Toolbar(props) {
20847
20855
  table: table,
20848
20856
  tableProps: tableProps
20849
20857
  }) : null, isSettingsVisible(props) ? /*#__PURE__*/React__default.createElement(SettingsButton, {
20850
- table: table
20858
+ table: table,
20859
+ customSettings: customSettings
20851
20860
  }) : null, tableMeta.search.isEnabled ? /*#__PURE__*/React__default.createElement(Search$3, {
20852
20861
  scrollToIndex: scrollToIndex,
20853
20862
  table: table
@@ -21127,6 +21136,7 @@ const fixedForwardRef = React__default.forwardRef;
21127
21136
  const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
21128
21137
  const {
21129
21138
  emptyState: EmptyState,
21139
+ customSettings,
21130
21140
  toolbarLeft,
21131
21141
  toolbarRight
21132
21142
  } = props;
@@ -21218,6 +21228,7 @@ const Table$1 = /*#__PURE__*/fixedForwardRef(function Table3(props, ref) {
21218
21228
  total: length,
21219
21229
  left: toolbarLeft,
21220
21230
  right: toolbarRight,
21231
+ customSettings: customSettings,
21221
21232
  scrollToIndex: scrollToIndex
21222
21233
  }), /*#__PURE__*/React__default.createElement("div", {
21223
21234
  className: className,