@economic/taco 14.1.1 → 14.2.0-tanstack-virtual-update.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/charts/components/Area/AreaChart.cjs +2 -2
- package/dist/charts/components/Area/AreaChart.cjs.map +1 -1
- package/dist/charts/components/Area/AreaChart.js +2 -2
- package/dist/charts/components/Area/AreaChart.js.map +1 -1
- package/dist/charts/components/Bar/BarChart.cjs +1 -1
- package/dist/charts/components/Bar/BarChart.cjs.map +1 -1
- package/dist/charts/components/Bar/BarChart.js +1 -1
- package/dist/charts/components/Bar/BarChart.js.map +1 -1
- package/dist/charts/components/Line/LineChart.cjs +1 -1
- package/dist/charts/components/Line/LineChart.cjs.map +1 -1
- package/dist/charts/components/Line/LineChart.js +1 -1
- package/dist/charts/components/Line/LineChart.js.map +1 -1
- package/dist/components/Datepicker/Datepicker.cjs +4 -14
- package/dist/components/Datepicker/Datepicker.cjs.map +1 -1
- package/dist/components/Datepicker/Datepicker.js +4 -14
- package/dist/components/Datepicker/Datepicker.js.map +1 -1
- package/dist/components/HoverCard/HoverCard.cjs +4 -20
- package/dist/components/HoverCard/HoverCard.cjs.map +1 -1
- package/dist/components/HoverCard/HoverCard.js +5 -21
- package/dist/components/HoverCard/HoverCard.js.map +1 -1
- package/dist/components/Popover/Popover.cjs +12 -3
- package/dist/components/Popover/Popover.cjs.map +1 -1
- package/dist/components/Popover/Popover.d.ts +1 -0
- package/dist/components/Popover/Popover.js +14 -5
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover/util.cjs +2 -2
- package/dist/components/Popover/util.cjs.map +1 -1
- package/dist/components/Popover/util.d.ts +1 -1
- package/dist/components/Popover/util.js +2 -2
- package/dist/components/Popover/util.js.map +1 -1
- package/dist/components/Provider/Localization.cjs +3 -0
- package/dist/components/Provider/Localization.cjs.map +1 -1
- package/dist/components/Provider/Localization.d.ts +6 -0
- package/dist/components/Provider/Localization.js +3 -0
- package/dist/components/Provider/Localization.js.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/Cell.cjs +3 -2
- package/dist/components/Table3/components/Columns/Cell/Cell.cjs.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/Cell.js +3 -2
- package/dist/components/Table3/components/Columns/Cell/Cell.js.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.cjs +6 -5
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.cjs.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js +6 -5
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/EditingControlCell.cjs +9 -8
- package/dist/components/Table3/components/Columns/Cell/EditingControlCell.cjs.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/EditingControlCell.js +9 -8
- package/dist/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/util.cjs +2 -1
- package/dist/components/Table3/components/Columns/Cell/util.cjs.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/util.js +2 -1
- package/dist/components/Table3/components/Columns/Cell/util.js.map +1 -1
- package/dist/components/Table3/components/Editing/Alert.cjs +2 -1
- package/dist/components/Table3/components/Editing/Alert.cjs.map +1 -1
- package/dist/components/Table3/components/Editing/Alert.js +2 -1
- package/dist/components/Table3/components/Editing/Alert.js.map +1 -1
- package/dist/components/Table3/components/Row/Editing/SaveStatus.cjs +2 -1
- package/dist/components/Table3/components/Row/Editing/SaveStatus.cjs.map +1 -1
- package/dist/components/Table3/components/Row/Editing/SaveStatus.js +2 -1
- package/dist/components/Table3/components/Row/Editing/SaveStatus.js.map +1 -1
- package/dist/components/Table3/components/Row/Row.cjs +2 -1
- package/dist/components/Table3/components/Row/Row.cjs.map +1 -1
- package/dist/components/Table3/components/Row/Row.js +2 -1
- package/dist/components/Table3/components/Row/Row.js.map +1 -1
- package/dist/components/Table3/components/Toolbar/Editing/Editing.cjs +2 -1
- package/dist/components/Table3/components/Toolbar/Editing/Editing.cjs.map +1 -1
- package/dist/components/Table3/components/Toolbar/Editing/Editing.js +2 -1
- package/dist/components/Table3/components/Toolbar/Editing/Editing.js.map +1 -1
- package/dist/components/Table3/features/useEditingState.cjs +3 -2
- package/dist/components/Table3/features/useEditingState.cjs.map +1 -1
- package/dist/components/Table3/features/useEditingState.js +3 -2
- package/dist/components/Table3/features/useEditingState.js.map +1 -1
- package/dist/components/Table3/features/useTableEditing.cjs +4 -3
- package/dist/components/Table3/features/useTableEditing.cjs.map +1 -1
- package/dist/components/Table3/features/useTableEditing.js +4 -3
- package/dist/components/Table3/features/useTableEditing.js.map +1 -1
- package/dist/components/Table3/listeners/useTableEditingListener.cjs +2 -1
- package/dist/components/Table3/listeners/useTableEditingListener.cjs.map +1 -1
- package/dist/components/Table3/listeners/useTableEditingListener.js +2 -1
- package/dist/components/Table3/listeners/useTableEditingListener.js.map +1 -1
- package/dist/components/Toggletip/Toggletip.cjs +85 -0
- package/dist/components/Toggletip/Toggletip.cjs.map +1 -0
- package/dist/components/Toggletip/Toggletip.d.ts +13 -0
- package/dist/components/Toggletip/Toggletip.js +68 -0
- package/dist/components/Toggletip/Toggletip.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.cjs +3 -19
- package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +3 -19
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/index.cjs +3 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/primitives/ArrowTip/ArrowTip.cjs +43 -0
- package/dist/primitives/ArrowTip/ArrowTip.cjs.map +1 -0
- package/dist/primitives/ArrowTip/ArrowTip.d.ts +10 -0
- package/dist/primitives/ArrowTip/ArrowTip.js +26 -0
- package/dist/primitives/ArrowTip/ArrowTip.js.map +1 -0
- package/dist/primitives/BareButton/BareButton.cjs +28 -0
- package/dist/primitives/BareButton/BareButton.cjs.map +1 -0
- package/dist/primitives/BareButton/BareButton.d.ts +7 -0
- package/dist/primitives/BareButton/BareButton.js +11 -0
- package/dist/primitives/BareButton/BareButton.js.map +1 -0
- package/dist/primitives/Table/Core/components/Body/Body.cjs +5 -5
- package/dist/primitives/Table/Core/components/Body/Body.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Body/Body.js +6 -6
- package/dist/primitives/Table/Core/components/Body/Body.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.cjs +2 -2
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.js +2 -2
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.cjs +2 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js +2 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/util.cjs +6 -5
- package/dist/primitives/Table/Core/components/Columns/Cell/util.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/util.js +6 -5
- package/dist/primitives/Table/Core/components/Columns/Cell/util.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Actions.cjs +3 -2
- package/dist/primitives/Table/Core/components/Columns/Internal/Actions.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Actions.js +3 -2
- package/dist/primitives/Table/Core/components/Columns/Internal/Actions.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.cjs +3 -2
- package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.js +3 -2
- package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Selection.cjs +3 -2
- package/dist/primitives/Table/Core/components/Columns/Internal/Selection.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Selection.js +3 -2
- package/dist/primitives/Table/Core/components/Columns/Internal/Selection.js.map +1 -1
- package/dist/primitives/Table/Core/components/Footer/Footer.cjs +3 -2
- package/dist/primitives/Table/Core/components/Footer/Footer.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Footer/Footer.js +3 -2
- package/dist/primitives/Table/Core/components/Footer/Footer.js.map +1 -1
- package/dist/primitives/Table/Core/components/Footer/Summary.cjs +2 -1
- package/dist/primitives/Table/Core/components/Footer/Summary.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Footer/Summary.js +2 -1
- package/dist/primitives/Table/Core/components/Footer/Summary.js.map +1 -1
- package/dist/primitives/Table/Core/components/Header/Header.cjs +9 -8
- package/dist/primitives/Table/Core/components/Header/Header.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Header/Header.js +9 -8
- package/dist/primitives/Table/Core/components/Header/Header.js.map +1 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.cjs +6 -5
- package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js +2 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js.map +1 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.cjs +3 -2
- package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js +3 -2
- package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js.map +1 -1
- package/dist/primitives/Table/Core/components/Row/Row.cjs +2 -2
- package/dist/primitives/Table/Core/components/Row/Row.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Row/Row.js +2 -2
- package/dist/primitives/Table/Core/components/Row/Row.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/Toolbar.cjs +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/Toolbar.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/Toolbar.js +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/Toolbar.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/util.cjs +6 -6
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/util.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/util.js +6 -6
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/util.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.cjs +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.js +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.cjs +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.js +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.cjs +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.cjs +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js.map +1 -1
- package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.cjs +1 -1
- package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.cjs.map +1 -1
- package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.js +2 -2
- package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.js.map +1 -1
- package/dist/primitives/Table/Core/features/useTableRef.cjs +3 -2
- package/dist/primitives/Table/Core/features/useTableRef.cjs.map +1 -1
- package/dist/primitives/Table/Core/features/useTableRef.js +3 -2
- package/dist/primitives/Table/Core/features/useTableRef.js.map +1 -1
- package/dist/primitives/Table/Core/features/useTableRenderer.cjs +13 -12
- package/dist/primitives/Table/Core/features/useTableRenderer.cjs.map +1 -1
- package/dist/primitives/Table/Core/features/useTableRenderer.js +3 -2
- package/dist/primitives/Table/Core/features/useTableRenderer.js.map +1 -1
- package/dist/primitives/Table/Core/features/useTableStyle.cjs +2 -1
- package/dist/primitives/Table/Core/features/useTableStyle.cjs.map +1 -1
- package/dist/primitives/Table/Core/features/useTableStyle.d.ts +857 -857
- package/dist/primitives/Table/Core/features/useTableStyle.js +2 -1
- package/dist/primitives/Table/Core/features/useTableStyle.js.map +1 -1
- package/dist/primitives/Table/Core/features/useTableStyleGrid.cjs +2 -1
- package/dist/primitives/Table/Core/features/useTableStyleGrid.cjs.map +1 -1
- package/dist/primitives/Table/Core/features/useTableStyleGrid.js +2 -1
- package/dist/primitives/Table/Core/features/useTableStyleGrid.js.map +1 -1
- package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.cjs +2 -1
- package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.cjs.map +1 -1
- package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.js +2 -1
- package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/features/useTableRowSelection.cjs +5 -5
- package/dist/primitives/Table/useTableManager/features/useTableRowSelection.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/features/useTableRowSelection.js +2 -2
- package/dist/primitives/Table/useTableManager/features/useTableRowSelection.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.cjs +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.cjs +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowActiveListener.cjs +4 -3
- package/dist/primitives/Table/useTableManager/listeners/useTableRowActiveListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowActiveListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowActiveListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.cjs +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.cjs +4 -4
- package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js +2 -2
- package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.cjs +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.cjs +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSettingsListener.cjs +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSettingsListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSettingsListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSettingsListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.cjs +5 -4
- package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/useTableManager.cjs +3 -1
- package/dist/primitives/Table/useTableManager/useTableManager.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/useTableManager.js +3 -1
- package/dist/primitives/Table/useTableManager/useTableManager.js.map +1 -1
- package/dist/primitives/Table/useTableManager/util/rows.cjs +8 -1
- package/dist/primitives/Table/useTableManager/util/rows.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/util/rows.d.ts +2 -1
- package/dist/primitives/Table/useTableManager/util/rows.js +9 -2
- package/dist/primitives/Table/useTableManager/util/rows.js.map +1 -1
- package/dist/primitives/Table/useTableManager/util/search.cjs +2 -1
- package/dist/primitives/Table/useTableManager/util/search.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/util/search.js +2 -1
- package/dist/primitives/Table/useTableManager/util/search.js.map +1 -1
- package/dist/primitives/Table/useTableManager/util/settings.cjs +2 -1
- package/dist/primitives/Table/useTableManager/util/settings.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/util/settings.js +2 -1
- package/dist/primitives/Table/useTableManager/util/settings.js.map +1 -1
- package/dist/utils/tailwind.cjs +4 -0
- package/dist/utils/tailwind.cjs.map +1 -1
- package/dist/utils/tailwind.d.ts +4 -0
- package/dist/utils/tailwind.js +4 -0
- package/dist/utils/tailwind.js.map +1 -1
- package/package.json +6 -6
- package/dist/components/Popover/Primitives.cjs +0 -44
- package/dist/components/Popover/Primitives.cjs.map +0 -1
- package/dist/components/Popover/Primitives.d.ts +0 -2
- package/dist/components/Popover/Primitives.js +0 -27
- package/dist/components/Popover/Primitives.js.map +0 -1
- /package/dist/components/Icon/config/{index-template.d.cts → index-template.d.ts} +0 -0
- /package/dist/components/Icon/config/{svgr.config.d.cts → svgr.config.d.ts} +0 -0
- /package/dist/components/Icon/config/{template.d.cts → template.d.ts} +0 -0
|
@@ -9,13 +9,13 @@ function Body(props) {
|
|
|
9
9
|
const { enableHorizontalArrowKeyNavigation = false, scrollToIndex, table, tableElement, ...attributes } = props;
|
|
10
10
|
const ref = React.useRef(null);
|
|
11
11
|
const focusManager = util.useAugmentedFocusManager();
|
|
12
|
-
const tableMeta = table
|
|
12
|
+
const tableMeta = rows.getTableMeta(table);
|
|
13
13
|
const handleKeyDown = (event) => {
|
|
14
14
|
const isEventTriggeredInsideTable = event.target?.closest("tbody") === ref.current;
|
|
15
15
|
if (event.isDefaultPrevented() || event.isPropagationStopped() || !isEventTriggeredInsideTable) {
|
|
16
16
|
return;
|
|
17
17
|
}
|
|
18
|
-
if (tableMeta
|
|
18
|
+
if (tableMeta.rowActive.rowActiveIndex !== void 0) {
|
|
19
19
|
const isFirstRow = tableMeta.rowActive.rowActiveIndex === 0;
|
|
20
20
|
const reachableRows = rows.getReachableRowCount(table);
|
|
21
21
|
const isLastRow = tableMeta.rowActive.rowActiveIndex === reachableRows - 1;
|
|
@@ -78,14 +78,14 @@ function Body(props) {
|
|
|
78
78
|
}
|
|
79
79
|
const rowIndex = event.target.closest("tr[data-row-id]")?.getAttribute("data-row-index");
|
|
80
80
|
if (!rowIndex) {
|
|
81
|
-
tableMeta
|
|
81
|
+
tableMeta.rowActive.setRowHoverIndex(void 0);
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
84
|
-
tableMeta
|
|
84
|
+
tableMeta.rowActive.setRowHoverIndex(Number(rowIndex));
|
|
85
85
|
},
|
|
86
86
|
[ref]
|
|
87
87
|
);
|
|
88
|
-
const handleMouseLeave = React.useCallback(() => tableMeta
|
|
88
|
+
const handleMouseLeave = React.useCallback(() => tableMeta.rowActive.setRowHoverIndex(void 0), []);
|
|
89
89
|
return /* @__PURE__ */ React.createElement(
|
|
90
90
|
"tbody",
|
|
91
91
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Body.cjs","sources":["../../../../../../src/primitives/Table/Core/components/Body/Body.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { hasFocusableElement } from '@/utils/dom';\nimport { isPressingMetaKey } from '@/utils/keyboard';\n\nimport type { TableRef } from '../../../types';\nimport { getReachableRowCount } from '../../../useTableManager/util/rows';\n\nimport { useAugmentedFocusManager } from './util';\n\ntype BodyProps<TType = unknown> = React.HTMLAttributes<HTMLTableSectionElement> & {\n enableHorizontalArrowKeyNavigation?: boolean;\n scrollToIndex: (index: number) => void;\n table: ReactTable<TType>;\n tableElement: TableRef | null;\n};\n\nexport function Body<TType = unknown>(props: BodyProps<TType>) {\n const { enableHorizontalArrowKeyNavigation = false, scrollToIndex, table, tableElement, ...attributes } = props;\n const ref = React.useRef<HTMLTableSectionElement>(null);\n const focusManager = useAugmentedFocusManager();\n const tableMeta = table
|
|
1
|
+
{"version":3,"file":"Body.cjs","sources":["../../../../../../src/primitives/Table/Core/components/Body/Body.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { hasFocusableElement } from '@/utils/dom';\nimport { isPressingMetaKey } from '@/utils/keyboard';\n\nimport type { TableRef } from '../../../types';\nimport { getReachableRowCount, getTableMeta } from '../../../useTableManager/util/rows';\n\nimport { useAugmentedFocusManager } from './util';\n\ntype BodyProps<TType = unknown> = React.HTMLAttributes<HTMLTableSectionElement> & {\n enableHorizontalArrowKeyNavigation?: boolean;\n scrollToIndex: (index: number) => void;\n table: ReactTable<TType>;\n tableElement: TableRef | null;\n};\n\nexport function Body<TType = unknown>(props: BodyProps<TType>) {\n const { enableHorizontalArrowKeyNavigation = false, scrollToIndex, table, tableElement, ...attributes } = props;\n const ref = React.useRef<HTMLTableSectionElement>(null);\n const focusManager = useAugmentedFocusManager();\n const tableMeta = getTableMeta(table);\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n // this prevents the handler from running when a dialog is opened from within the table (unless the table itself is in a dialog).\n const isEventTriggeredInsideTable = (event.target as HTMLElement)?.closest('tbody') === ref.current;\n\n if (event.isDefaultPrevented() || event.isPropagationStopped() || !isEventTriggeredInsideTable) {\n return;\n }\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n const isFirstRow = tableMeta.rowActive.rowActiveIndex === 0;\n\n const reachableRows = getReachableRowCount(table);\n const isLastRow = tableMeta.rowActive.rowActiveIndex === reachableRows - 1;\n\n if (\n event.key === 'Tab' ||\n (enableHorizontalArrowKeyNavigation && (event.key === 'ArrowLeft' || event.key === 'ArrowRight'))\n ) {\n if (event.key === 'Tab' && !hasFocusableElement((event.target as HTMLElement).closest('tr[data-row-id]'))) {\n return;\n }\n\n tableMeta.rowActive.setHoverStatePaused(true);\n\n const isMetaKeyPressed = isPressingMetaKey(event);\n let focusedElement;\n\n switch (event.key) {\n case 'ArrowLeft':\n focusedElement = isMetaKeyPressed ? focusManager.focusFirst() : focusManager.focusPrevious(true);\n break;\n case 'ArrowRight':\n focusedElement = isMetaKeyPressed ? focusManager.focusLast() : focusManager.focusNext(true);\n\n // Scrolls table all the way to the right\n if (isMetaKeyPressed && tableElement) {\n tableElement.scrollLeft = tableElement.scrollWidth;\n }\n\n break;\n default:\n focusedElement = event.shiftKey ? focusManager.focusPrevious() : focusManager.focusNext();\n break;\n }\n\n if (focusedElement) {\n // override default behaviour, since we're handling focus internally now\n event.preventDefault();\n return;\n }\n\n // The code below only executes when focusedElement was undefined/null. This happens only when arrow-left/shift+tab\n // is pressed on the first cell or arrow-right/tab is pressed on the last cell.\n if (event.shiftKey || event.key === 'ArrowLeft') {\n if (!isFirstRow) {\n // there are no previous elements to focus, go up a row or go outside the table\n // but only if there are actually any focusable elements in the row\n event.preventDefault();\n const prevIndex = tableMeta.rowActive.rowActiveIndex - 1;\n tableMeta.rowActive.setRowActiveIndex(prevIndex);\n requestAnimationFrame(() => {\n focusManager.focusLast();\n scrollToIndex(prevIndex);\n });\n }\n } else if (!isLastRow) {\n // there are no next elements to focus, go down a row or go outside the table\n // but only if there are actually any focusable elements in the row\n event.preventDefault();\n const nextIndex = tableMeta.rowActive.rowActiveIndex + 1;\n tableMeta.rowActive.setRowActiveIndex(nextIndex);\n requestAnimationFrame(() => {\n focusManager.focusFirst();\n scrollToIndex(nextIndex);\n });\n }\n }\n }\n };\n const handleMouseMove = React.useCallback(\n (event: React.MouseEvent<HTMLTableSectionElement>) => {\n if (!(event.target instanceof HTMLElement)) {\n return;\n }\n\n const currentTable = ref.current?.closest('table');\n const targetTable = event.target.closest('table');\n\n // If we're in a different table context, don't handle the event\n if (targetTable !== currentTable) {\n return;\n }\n\n const rowIndex = event.target.closest('tr[data-row-id]')?.getAttribute('data-row-index');\n\n // Clear hover state if no valid row found, handles expanded section case too\n if (!rowIndex) {\n tableMeta.rowActive.setRowHoverIndex(undefined);\n return;\n }\n\n tableMeta.rowActive.setRowHoverIndex(Number(rowIndex));\n },\n [ref]\n );\n\n // Sometimes this event does not trigger if the mouse leaves the window without leaving boundary of the table\n // this is a browser level bug and there's not much to be done about it\n const handleMouseLeave = React.useCallback(() => tableMeta.rowActive.setRowHoverIndex(undefined), []);\n\n return (\n <tbody\n {...attributes}\n onKeyDown={handleKeyDown}\n onMouseLeave={handleMouseLeave}\n onMouseMove={handleMouseMove}\n // Prevents menu dropdowns inside the row from being closed straight after being opened, wehn clicked on a menu trigger\n onFocus={e => e.stopPropagation()}\n ref={ref}\n />\n );\n}\n"],"names":["useAugmentedFocusManager","getTableMeta","getReachableRowCount","hasFocusableElement","isPressingMetaKey"],"mappings":"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"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import React__default from "react";
|
|
2
2
|
import { hasFocusableElement } from "../../../../../utils/dom.js";
|
|
3
3
|
import { isPressingMetaKey } from "../../../../../utils/keyboard.js";
|
|
4
|
-
import { getReachableRowCount } from "../../../useTableManager/util/rows.js";
|
|
4
|
+
import { getTableMeta, getReachableRowCount } from "../../../useTableManager/util/rows.js";
|
|
5
5
|
import { useAugmentedFocusManager } from "./util.js";
|
|
6
6
|
function Body(props) {
|
|
7
7
|
const { enableHorizontalArrowKeyNavigation = false, scrollToIndex, table, tableElement, ...attributes } = props;
|
|
8
8
|
const ref = React__default.useRef(null);
|
|
9
9
|
const focusManager = useAugmentedFocusManager();
|
|
10
|
-
const tableMeta = table
|
|
10
|
+
const tableMeta = getTableMeta(table);
|
|
11
11
|
const handleKeyDown = (event) => {
|
|
12
12
|
const isEventTriggeredInsideTable = event.target?.closest("tbody") === ref.current;
|
|
13
13
|
if (event.isDefaultPrevented() || event.isPropagationStopped() || !isEventTriggeredInsideTable) {
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
|
-
if (tableMeta
|
|
16
|
+
if (tableMeta.rowActive.rowActiveIndex !== void 0) {
|
|
17
17
|
const isFirstRow = tableMeta.rowActive.rowActiveIndex === 0;
|
|
18
18
|
const reachableRows = getReachableRowCount(table);
|
|
19
19
|
const isLastRow = tableMeta.rowActive.rowActiveIndex === reachableRows - 1;
|
|
@@ -76,14 +76,14 @@ function Body(props) {
|
|
|
76
76
|
}
|
|
77
77
|
const rowIndex = event.target.closest("tr[data-row-id]")?.getAttribute("data-row-index");
|
|
78
78
|
if (!rowIndex) {
|
|
79
|
-
tableMeta
|
|
79
|
+
tableMeta.rowActive.setRowHoverIndex(void 0);
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
82
|
-
tableMeta
|
|
82
|
+
tableMeta.rowActive.setRowHoverIndex(Number(rowIndex));
|
|
83
83
|
},
|
|
84
84
|
[ref]
|
|
85
85
|
);
|
|
86
|
-
const handleMouseLeave = React__default.useCallback(() => tableMeta
|
|
86
|
+
const handleMouseLeave = React__default.useCallback(() => tableMeta.rowActive.setRowHoverIndex(void 0), []);
|
|
87
87
|
return /* @__PURE__ */ React__default.createElement(
|
|
88
88
|
"tbody",
|
|
89
89
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Body.js","sources":["../../../../../../src/primitives/Table/Core/components/Body/Body.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { hasFocusableElement } from '@/utils/dom';\nimport { isPressingMetaKey } from '@/utils/keyboard';\n\nimport type { TableRef } from '../../../types';\nimport { getReachableRowCount } from '../../../useTableManager/util/rows';\n\nimport { useAugmentedFocusManager } from './util';\n\ntype BodyProps<TType = unknown> = React.HTMLAttributes<HTMLTableSectionElement> & {\n enableHorizontalArrowKeyNavigation?: boolean;\n scrollToIndex: (index: number) => void;\n table: ReactTable<TType>;\n tableElement: TableRef | null;\n};\n\nexport function Body<TType = unknown>(props: BodyProps<TType>) {\n const { enableHorizontalArrowKeyNavigation = false, scrollToIndex, table, tableElement, ...attributes } = props;\n const ref = React.useRef<HTMLTableSectionElement>(null);\n const focusManager = useAugmentedFocusManager();\n const tableMeta = table
|
|
1
|
+
{"version":3,"file":"Body.js","sources":["../../../../../../src/primitives/Table/Core/components/Body/Body.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { hasFocusableElement } from '@/utils/dom';\nimport { isPressingMetaKey } from '@/utils/keyboard';\n\nimport type { TableRef } from '../../../types';\nimport { getReachableRowCount, getTableMeta } from '../../../useTableManager/util/rows';\n\nimport { useAugmentedFocusManager } from './util';\n\ntype BodyProps<TType = unknown> = React.HTMLAttributes<HTMLTableSectionElement> & {\n enableHorizontalArrowKeyNavigation?: boolean;\n scrollToIndex: (index: number) => void;\n table: ReactTable<TType>;\n tableElement: TableRef | null;\n};\n\nexport function Body<TType = unknown>(props: BodyProps<TType>) {\n const { enableHorizontalArrowKeyNavigation = false, scrollToIndex, table, tableElement, ...attributes } = props;\n const ref = React.useRef<HTMLTableSectionElement>(null);\n const focusManager = useAugmentedFocusManager();\n const tableMeta = getTableMeta(table);\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n // this prevents the handler from running when a dialog is opened from within the table (unless the table itself is in a dialog).\n const isEventTriggeredInsideTable = (event.target as HTMLElement)?.closest('tbody') === ref.current;\n\n if (event.isDefaultPrevented() || event.isPropagationStopped() || !isEventTriggeredInsideTable) {\n return;\n }\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n const isFirstRow = tableMeta.rowActive.rowActiveIndex === 0;\n\n const reachableRows = getReachableRowCount(table);\n const isLastRow = tableMeta.rowActive.rowActiveIndex === reachableRows - 1;\n\n if (\n event.key === 'Tab' ||\n (enableHorizontalArrowKeyNavigation && (event.key === 'ArrowLeft' || event.key === 'ArrowRight'))\n ) {\n if (event.key === 'Tab' && !hasFocusableElement((event.target as HTMLElement).closest('tr[data-row-id]'))) {\n return;\n }\n\n tableMeta.rowActive.setHoverStatePaused(true);\n\n const isMetaKeyPressed = isPressingMetaKey(event);\n let focusedElement;\n\n switch (event.key) {\n case 'ArrowLeft':\n focusedElement = isMetaKeyPressed ? focusManager.focusFirst() : focusManager.focusPrevious(true);\n break;\n case 'ArrowRight':\n focusedElement = isMetaKeyPressed ? focusManager.focusLast() : focusManager.focusNext(true);\n\n // Scrolls table all the way to the right\n if (isMetaKeyPressed && tableElement) {\n tableElement.scrollLeft = tableElement.scrollWidth;\n }\n\n break;\n default:\n focusedElement = event.shiftKey ? focusManager.focusPrevious() : focusManager.focusNext();\n break;\n }\n\n if (focusedElement) {\n // override default behaviour, since we're handling focus internally now\n event.preventDefault();\n return;\n }\n\n // The code below only executes when focusedElement was undefined/null. This happens only when arrow-left/shift+tab\n // is pressed on the first cell or arrow-right/tab is pressed on the last cell.\n if (event.shiftKey || event.key === 'ArrowLeft') {\n if (!isFirstRow) {\n // there are no previous elements to focus, go up a row or go outside the table\n // but only if there are actually any focusable elements in the row\n event.preventDefault();\n const prevIndex = tableMeta.rowActive.rowActiveIndex - 1;\n tableMeta.rowActive.setRowActiveIndex(prevIndex);\n requestAnimationFrame(() => {\n focusManager.focusLast();\n scrollToIndex(prevIndex);\n });\n }\n } else if (!isLastRow) {\n // there are no next elements to focus, go down a row or go outside the table\n // but only if there are actually any focusable elements in the row\n event.preventDefault();\n const nextIndex = tableMeta.rowActive.rowActiveIndex + 1;\n tableMeta.rowActive.setRowActiveIndex(nextIndex);\n requestAnimationFrame(() => {\n focusManager.focusFirst();\n scrollToIndex(nextIndex);\n });\n }\n }\n }\n };\n const handleMouseMove = React.useCallback(\n (event: React.MouseEvent<HTMLTableSectionElement>) => {\n if (!(event.target instanceof HTMLElement)) {\n return;\n }\n\n const currentTable = ref.current?.closest('table');\n const targetTable = event.target.closest('table');\n\n // If we're in a different table context, don't handle the event\n if (targetTable !== currentTable) {\n return;\n }\n\n const rowIndex = event.target.closest('tr[data-row-id]')?.getAttribute('data-row-index');\n\n // Clear hover state if no valid row found, handles expanded section case too\n if (!rowIndex) {\n tableMeta.rowActive.setRowHoverIndex(undefined);\n return;\n }\n\n tableMeta.rowActive.setRowHoverIndex(Number(rowIndex));\n },\n [ref]\n );\n\n // Sometimes this event does not trigger if the mouse leaves the window without leaving boundary of the table\n // this is a browser level bug and there's not much to be done about it\n const handleMouseLeave = React.useCallback(() => tableMeta.rowActive.setRowHoverIndex(undefined), []);\n\n return (\n <tbody\n {...attributes}\n onKeyDown={handleKeyDown}\n onMouseLeave={handleMouseLeave}\n onMouseMove={handleMouseMove}\n // Prevents menu dropdowns inside the row from being closed straight after being opened, wehn clicked on a menu trigger\n onFocus={e => e.stopPropagation()}\n ref={ref}\n />\n );\n}\n"],"names":["React"],"mappings":"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"}
|
|
@@ -8,14 +8,14 @@ function DisplayCell(props) {
|
|
|
8
8
|
const { cell, cellRef, index, isHighlighted, ...cellAttributes } = props;
|
|
9
9
|
const columnMeta = cell.column.columnDef.meta;
|
|
10
10
|
const attributes = util.getCellAttributes(cell, index, isHighlighted);
|
|
11
|
-
const isTruncated = !!columnMeta
|
|
11
|
+
const isTruncated = !!columnMeta?.enableTruncate;
|
|
12
12
|
let content;
|
|
13
13
|
if (columns.isInternalColumn(cell.column.id)) {
|
|
14
14
|
content = reactTable.flexRender(cell.column.columnDef.cell, cell.getContext());
|
|
15
15
|
} else {
|
|
16
16
|
content = typeof cell.column.columnDef.cell === "function" ? cell.column.columnDef.cell(cell.getContext()) : cell.getValue();
|
|
17
17
|
}
|
|
18
|
-
return /* @__PURE__ */ React.createElement(MemoedDisplayCell, { ...cellAttributes, ...attributes, cellRef, isTruncated }, content ?? columnMeta
|
|
18
|
+
return /* @__PURE__ */ React.createElement(MemoedDisplayCell, { ...cellAttributes, ...attributes, cellRef, isTruncated }, content ?? columnMeta?.emptyState);
|
|
19
19
|
}
|
|
20
20
|
const MemoedDisplayCell = React.memo(function MemoedDisplayCell2(props) {
|
|
21
21
|
const { cellRef, children, isTruncated, ...cellAttributes } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayCell.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"DisplayCell.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.tsx"],"sourcesContent":["import { flexRender } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { isInternalColumn } from '../../../../../useTableManager/util/columns';\nimport type { TableCellRendererProps } from '../../../../types';\nimport { getCellAttributes } from '../util';\n\nexport function DisplayCell<TType = unknown>(props: TableCellRendererProps<TType>) {\n const { cell, cellRef, index, isHighlighted, ...cellAttributes } = props;\n const columnMeta = cell.column.columnDef.meta;\n const attributes = getCellAttributes(cell, index, isHighlighted);\n const isTruncated = !!columnMeta?.enableTruncate;\n\n let content;\n\n if (isInternalColumn(cell.column.id)) {\n content = flexRender(cell.column.columnDef.cell, cell.getContext());\n } else {\n // using flexRender renders as a react component not a function, and that causes re-render issues for us\n // for example, clicks on buttons in cells no longer works until the row becomes active\n content =\n typeof cell.column.columnDef.cell === 'function' ? cell.column.columnDef.cell(cell.getContext()) : cell.getValue();\n }\n\n return (\n <MemoedDisplayCell {...cellAttributes} {...attributes} cellRef={cellRef} isTruncated={isTruncated}>\n {content ?? columnMeta?.emptyState}\n </MemoedDisplayCell>\n );\n}\n\ntype MemoedDisplayCellProps = React.TdHTMLAttributes<HTMLTableCellElement> & {\n cellRef: React.Ref<HTMLTableCellElement>;\n isTruncated: boolean;\n};\n\nconst MemoedDisplayCell = React.memo(function MemoedDisplayCell(props: MemoedDisplayCellProps) {\n const { cellRef, children, isTruncated, ...cellAttributes } = props;\n\n return (\n <td {...cellAttributes} ref={cellRef}>\n {isTruncated ? <span className=\"truncate print:overflow-visible print:whitespace-normal\">{children}</span> : children}\n </td>\n );\n});\n"],"names":["getCellAttributes","isInternalColumn","flexRender","MemoedDisplayCell"],"mappings":";;;;;;AAOO,SAAS,YAA6B,OAAsC;AAC/E,QAAM,EAAE,MAAM,SAAS,OAAO,eAAe,GAAG,mBAAmB;AACnE,QAAM,aAAa,KAAK,OAAO,UAAU;AACzC,QAAM,aAAaA,KAAAA,kBAAkB,MAAM,OAAO,aAAa;AAC/D,QAAM,cAAc,CAAC,CAAC,YAAY;AAElC,MAAI;AAEJ,MAAIC,yBAAiB,KAAK,OAAO,EAAE,GAAG;AAClC,cAAUC,WAAAA,WAAW,KAAK,OAAO,UAAU,MAAM,KAAK,YAAY;AAAA,EACtE,OAAO;AAGH,cACI,OAAO,KAAK,OAAO,UAAU,SAAS,aAAa,KAAK,OAAO,UAAU,KAAK,KAAK,WAAA,CAAY,IAAI,KAAK,SAAA;AAAA,EAChH;AAEA,SACI,sBAAA,cAAC,mBAAA,EAAmB,GAAG,gBAAiB,GAAG,YAAY,SAAkB,YAAA,GACpE,WAAW,YAAY,UAC5B;AAER;AAOA,MAAM,oBAAoB,MAAM,KAAK,SAASC,mBAAkB,OAA+B;AAC3F,QAAM,EAAE,SAAS,UAAU,aAAa,GAAG,mBAAmB;AAE9D,SACI,sBAAA,cAAC,MAAA,EAAI,GAAG,gBAAgB,KAAK,WACxB,cAAc,sBAAA,cAAC,QAAA,EAAK,WAAU,6DAA2D,QAAS,IAAU,QACjH;AAER,CAAC;;"}
|
|
@@ -6,14 +6,14 @@ function DisplayCell(props) {
|
|
|
6
6
|
const { cell, cellRef, index, isHighlighted, ...cellAttributes } = props;
|
|
7
7
|
const columnMeta = cell.column.columnDef.meta;
|
|
8
8
|
const attributes = getCellAttributes(cell, index, isHighlighted);
|
|
9
|
-
const isTruncated = !!columnMeta
|
|
9
|
+
const isTruncated = !!columnMeta?.enableTruncate;
|
|
10
10
|
let content;
|
|
11
11
|
if (isInternalColumn(cell.column.id)) {
|
|
12
12
|
content = flexRender(cell.column.columnDef.cell, cell.getContext());
|
|
13
13
|
} else {
|
|
14
14
|
content = typeof cell.column.columnDef.cell === "function" ? cell.column.columnDef.cell(cell.getContext()) : cell.getValue();
|
|
15
15
|
}
|
|
16
|
-
return /* @__PURE__ */ React__default.createElement(MemoedDisplayCell, { ...cellAttributes, ...attributes, cellRef, isTruncated }, content ?? columnMeta
|
|
16
|
+
return /* @__PURE__ */ React__default.createElement(MemoedDisplayCell, { ...cellAttributes, ...attributes, cellRef, isTruncated }, content ?? columnMeta?.emptyState);
|
|
17
17
|
}
|
|
18
18
|
const MemoedDisplayCell = React__default.memo(function MemoedDisplayCell2(props) {
|
|
19
19
|
const { cellRef, children, isTruncated, ...cellAttributes } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayCell.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"DisplayCell.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.tsx"],"sourcesContent":["import { flexRender } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { isInternalColumn } from '../../../../../useTableManager/util/columns';\nimport type { TableCellRendererProps } from '../../../../types';\nimport { getCellAttributes } from '../util';\n\nexport function DisplayCell<TType = unknown>(props: TableCellRendererProps<TType>) {\n const { cell, cellRef, index, isHighlighted, ...cellAttributes } = props;\n const columnMeta = cell.column.columnDef.meta;\n const attributes = getCellAttributes(cell, index, isHighlighted);\n const isTruncated = !!columnMeta?.enableTruncate;\n\n let content;\n\n if (isInternalColumn(cell.column.id)) {\n content = flexRender(cell.column.columnDef.cell, cell.getContext());\n } else {\n // using flexRender renders as a react component not a function, and that causes re-render issues for us\n // for example, clicks on buttons in cells no longer works until the row becomes active\n content =\n typeof cell.column.columnDef.cell === 'function' ? cell.column.columnDef.cell(cell.getContext()) : cell.getValue();\n }\n\n return (\n <MemoedDisplayCell {...cellAttributes} {...attributes} cellRef={cellRef} isTruncated={isTruncated}>\n {content ?? columnMeta?.emptyState}\n </MemoedDisplayCell>\n );\n}\n\ntype MemoedDisplayCellProps = React.TdHTMLAttributes<HTMLTableCellElement> & {\n cellRef: React.Ref<HTMLTableCellElement>;\n isTruncated: boolean;\n};\n\nconst MemoedDisplayCell = React.memo(function MemoedDisplayCell(props: MemoedDisplayCellProps) {\n const { cellRef, children, isTruncated, ...cellAttributes } = props;\n\n return (\n <td {...cellAttributes} ref={cellRef}>\n {isTruncated ? <span className=\"truncate print:overflow-visible print:whitespace-normal\">{children}</span> : children}\n </td>\n );\n});\n"],"names":["React","MemoedDisplayCell"],"mappings":";;;;AAOO,SAAS,YAA6B,OAAsC;AAC/E,QAAM,EAAE,MAAM,SAAS,OAAO,eAAe,GAAG,mBAAmB;AACnE,QAAM,aAAa,KAAK,OAAO,UAAU;AACzC,QAAM,aAAa,kBAAkB,MAAM,OAAO,aAAa;AAC/D,QAAM,cAAc,CAAC,CAAC,YAAY;AAElC,MAAI;AAEJ,MAAI,iBAAiB,KAAK,OAAO,EAAE,GAAG;AAClC,cAAU,WAAW,KAAK,OAAO,UAAU,MAAM,KAAK,YAAY;AAAA,EACtE,OAAO;AAGH,cACI,OAAO,KAAK,OAAO,UAAU,SAAS,aAAa,KAAK,OAAO,UAAU,KAAK,KAAK,WAAA,CAAY,IAAI,KAAK,SAAA;AAAA,EAChH;AAEA,SACIA,+BAAA,cAAC,mBAAA,EAAmB,GAAG,gBAAiB,GAAG,YAAY,SAAkB,YAAA,GACpE,WAAW,YAAY,UAC5B;AAER;AAOA,MAAM,oBAAoBA,eAAM,KAAK,SAASC,mBAAkB,OAA+B;AAC3F,QAAM,EAAE,SAAS,UAAU,aAAa,GAAG,mBAAmB;AAE9D,SACID,+BAAA,cAAC,MAAA,EAAI,GAAG,gBAAgB,KAAK,WACxB,cAAcA,+BAAA,cAAC,QAAA,EAAK,WAAU,6DAA2D,QAAS,IAAU,QACjH;AAER,CAAC;"}
|
|
@@ -3,13 +3,14 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const React = require("react");
|
|
4
4
|
const columns = require("../../../../../useTableManager/util/columns.cjs");
|
|
5
5
|
const rowActions = require("../../../../../useTableManager/util/rowActions.cjs");
|
|
6
|
+
const rows = require("../../../../../useTableManager/util/rows.cjs");
|
|
6
7
|
const RowContext = require("../../../Row/RowContext.cjs");
|
|
7
8
|
const Actions = require("../../Internal/Actions.cjs");
|
|
8
9
|
const util = require("../util.cjs");
|
|
9
10
|
function GroupedCell(props) {
|
|
10
11
|
const { cell, cellRef, index, isHighlighted } = props;
|
|
11
12
|
const { table } = cell.getContext();
|
|
12
|
-
const tableMeta = table
|
|
13
|
+
const tableMeta = rows.getTableMeta(table);
|
|
13
14
|
const attributes = util.getCellAttributes(cell, index, isHighlighted);
|
|
14
15
|
const { isHovered, rowIndex } = React.useContext(RowContext.RowContext);
|
|
15
16
|
const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupedCell.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.tsx"],"sourcesContent":["import type { Table as ReactTable
|
|
1
|
+
{"version":3,"file":"GroupedCell.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { TableRowActionConfigGroupRenderer, TableRowActionGroupRenderer } from '../../../../../types';\nimport { isInternalColumn } from '../../../../../useTableManager/util/columns';\nimport { hasRowActions } from '../../../../../useTableManager/util/rowActions';\nimport { getTableMeta } from '../../../../../useTableManager/util/rows';\nimport type { TableCellRendererProps } from '../../../../types';\nimport { RowContext } from '../../../Row/RowContext';\nimport { Actions as RowGroupActions } from '../../Internal/Actions';\nimport { getCellAttributes } from '../util';\n\nexport function GroupedCell<TType = unknown>(props: TableCellRendererProps<TType>) {\n const { cell, cellRef, index, isHighlighted } = props;\n const { table } = cell.getContext();\n const tableMeta = getTableMeta(table);\n const attributes = getCellAttributes(cell, index, isHighlighted);\n\n const { isHovered, rowIndex } = React.useContext(RowContext);\n const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;\n const canShowActions = isActiveRow || (isHovered && !tableMeta.rowActive.isHoverStatePaused);\n\n // Set colSpan based on the count of visible cells, including '__actions' and non-internal columns, so that\n // rowGroupActions aligns with rowActions.\n const colSpan =\n cell.row.getVisibleCells().filter(c => c.column.id === '__actions' || !isInternalColumn(c.column.id)).length - 1;\n const subRows = cell.getContext().row.subRows.map(row => row.original);\n\n // using flexRender renders as a react component not a function, and that causes re-render issues for us\n // for example, clicks on buttons in cells no longer works until the row becomes active\n const content = typeof cell.column.columnDef.cell === 'function' ? cell.column.columnDef.cell(cell.getContext()) : null;\n\n return (\n <MemoedGroupedCell<TType>\n {...attributes}\n canShowActions={canShowActions}\n cellRef={cellRef}\n colSpan={colSpan}\n rowActions={tableMeta.rowGroups.rowActionsForGroup}\n rowId={cell.row.id}\n subRows={subRows}\n table={table}>\n {content}\n </MemoedGroupedCell>\n );\n}\n\ntype MemoedGroupedCellProps<TType = unknown> = React.TdHTMLAttributes<HTMLTableCellElement> & {\n canShowActions: boolean;\n cellRef: React.Ref<HTMLTableCellElement>;\n colSpan: number;\n rowActions?: TableRowActionGroupRenderer<TType>[] | TableRowActionConfigGroupRenderer<TType>;\n rowId: string;\n subRows: TType[];\n table: ReactTable<TType>;\n};\n\nconst MemoedGroupedCell = React.memo(function MemoedGroupedCell<TType = unknown>(props: MemoedGroupedCellProps<TType>) {\n const { canShowActions, cellRef, children, colSpan, rowActions, rowId, subRows, table, ...attributes } = props;\n\n return (\n // pr-1 is needed to align group row actions with row actions in sibling rows, if present\n <td {...attributes} className=\"!pr-1\" ref={cellRef} style={{ gridColumn: `span ${colSpan} / span ${colSpan}` }}>\n <span className=\"grow\">{children}</span>\n {hasRowActions(rowActions) && canShowActions ? (\n <RowGroupActions<TType>\n // TOOD: remove \"as\" when we'll migrate to a new API and get rid of mixed array types\n actions={rowActions as any}\n actionsLength={4}\n data={subRows}\n isActiveRow\n rowId={rowId}\n table={table}\n />\n ) : null}\n </td>\n );\n}) as <TType = unknown>(props: MemoedGroupedCellProps<TType>) => React.JSX.Element;\n"],"names":["getTableMeta","getCellAttributes","RowContext","isInternalColumn","MemoedGroupedCell","rowActions","hasRowActions","RowGroupActions"],"mappings":";;;;;;;;;AAYO,SAAS,YAA6B,OAAsC;AAC/E,QAAM,EAAE,MAAM,SAAS,OAAO,kBAAkB;AAChD,QAAM,EAAE,MAAA,IAAU,KAAK,WAAA;AACvB,QAAM,YAAYA,KAAAA,aAAa,KAAK;AACpC,QAAM,aAAaC,KAAAA,kBAAkB,MAAM,OAAO,aAAa;AAE/D,QAAM,EAAE,WAAW,SAAA,IAAa,MAAM,WAAWC,WAAAA,UAAU;AAC3D,QAAM,cAAc,UAAU,UAAU,mBAAmB;AAC3D,QAAM,iBAAiB,eAAgB,aAAa,CAAC,UAAU,UAAU;AAIzE,QAAM,UACF,KAAK,IAAI,kBAAkB,OAAO,OAAK,EAAE,OAAO,OAAO,eAAe,CAACC,QAAAA,iBAAiB,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS;AACnH,QAAM,UAAU,KAAK,WAAA,EAAa,IAAI,QAAQ,IAAI,CAAA,QAAO,IAAI,QAAQ;AAIrE,QAAM,UAAU,OAAO,KAAK,OAAO,UAAU,SAAS,aAAa,KAAK,OAAO,UAAU,KAAK,KAAK,WAAA,CAAY,IAAI;AAEnH,SACI,sBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,UAAU,UAAU;AAAA,MAChC,OAAO,KAAK,IAAI;AAAA,MAChB;AAAA,MACA;AAAA,IAAA;AAAA,IACC;AAAA,EAAA;AAGb;AAYA,MAAM,oBAAoB,MAAM,KAAK,SAASC,mBAAmC,OAAsC;AACnH,QAAM,EAAE,gBAAgB,SAAS,UAAU,SAAA,YAASC,cAAY,OAAO,SAAS,OAAO,GAAG,WAAA,IAAe;AAEzG;AAAA;AAAA,IAEI,sBAAA,cAAC,MAAA,EAAI,GAAG,YAAY,WAAU,SAAQ,KAAK,SAAS,OAAO,EAAE,YAAY,QAAQ,OAAO,WAAW,OAAO,GAAA,EAAG,GACzG,sBAAA,cAAC,QAAA,EAAK,WAAU,OAAA,GAAQ,QAAS,GAChCC,WAAAA,cAAcD,YAAU,KAAK,iBAC1B,sBAAA;AAAA,MAACE,QAAAA;AAAAA,MAAA;AAAA,QAEG,SAASF;AAAAA,QACT,eAAe;AAAA,QACf,MAAM;AAAA,QACN,aAAW;AAAA,QACX;AAAA,QACA;AAAA,MAAA;AAAA,IAAA,IAEJ,IACR;AAAA;AAER,CAAC;;"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import React__default from "react";
|
|
2
2
|
import { isInternalColumn } from "../../../../../useTableManager/util/columns.js";
|
|
3
3
|
import { hasRowActions } from "../../../../../useTableManager/util/rowActions.js";
|
|
4
|
+
import { getTableMeta } from "../../../../../useTableManager/util/rows.js";
|
|
4
5
|
import { RowContext } from "../../../Row/RowContext.js";
|
|
5
6
|
import { Actions } from "../../Internal/Actions.js";
|
|
6
7
|
import { getCellAttributes } from "../util.js";
|
|
7
8
|
function GroupedCell(props) {
|
|
8
9
|
const { cell, cellRef, index, isHighlighted } = props;
|
|
9
10
|
const { table } = cell.getContext();
|
|
10
|
-
const tableMeta = table
|
|
11
|
+
const tableMeta = getTableMeta(table);
|
|
11
12
|
const attributes = getCellAttributes(cell, index, isHighlighted);
|
|
12
13
|
const { isHovered, rowIndex } = React__default.useContext(RowContext);
|
|
13
14
|
const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupedCell.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.tsx"],"sourcesContent":["import type { Table as ReactTable
|
|
1
|
+
{"version":3,"file":"GroupedCell.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { TableRowActionConfigGroupRenderer, TableRowActionGroupRenderer } from '../../../../../types';\nimport { isInternalColumn } from '../../../../../useTableManager/util/columns';\nimport { hasRowActions } from '../../../../../useTableManager/util/rowActions';\nimport { getTableMeta } from '../../../../../useTableManager/util/rows';\nimport type { TableCellRendererProps } from '../../../../types';\nimport { RowContext } from '../../../Row/RowContext';\nimport { Actions as RowGroupActions } from '../../Internal/Actions';\nimport { getCellAttributes } from '../util';\n\nexport function GroupedCell<TType = unknown>(props: TableCellRendererProps<TType>) {\n const { cell, cellRef, index, isHighlighted } = props;\n const { table } = cell.getContext();\n const tableMeta = getTableMeta(table);\n const attributes = getCellAttributes(cell, index, isHighlighted);\n\n const { isHovered, rowIndex } = React.useContext(RowContext);\n const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;\n const canShowActions = isActiveRow || (isHovered && !tableMeta.rowActive.isHoverStatePaused);\n\n // Set colSpan based on the count of visible cells, including '__actions' and non-internal columns, so that\n // rowGroupActions aligns with rowActions.\n const colSpan =\n cell.row.getVisibleCells().filter(c => c.column.id === '__actions' || !isInternalColumn(c.column.id)).length - 1;\n const subRows = cell.getContext().row.subRows.map(row => row.original);\n\n // using flexRender renders as a react component not a function, and that causes re-render issues for us\n // for example, clicks on buttons in cells no longer works until the row becomes active\n const content = typeof cell.column.columnDef.cell === 'function' ? cell.column.columnDef.cell(cell.getContext()) : null;\n\n return (\n <MemoedGroupedCell<TType>\n {...attributes}\n canShowActions={canShowActions}\n cellRef={cellRef}\n colSpan={colSpan}\n rowActions={tableMeta.rowGroups.rowActionsForGroup}\n rowId={cell.row.id}\n subRows={subRows}\n table={table}>\n {content}\n </MemoedGroupedCell>\n );\n}\n\ntype MemoedGroupedCellProps<TType = unknown> = React.TdHTMLAttributes<HTMLTableCellElement> & {\n canShowActions: boolean;\n cellRef: React.Ref<HTMLTableCellElement>;\n colSpan: number;\n rowActions?: TableRowActionGroupRenderer<TType>[] | TableRowActionConfigGroupRenderer<TType>;\n rowId: string;\n subRows: TType[];\n table: ReactTable<TType>;\n};\n\nconst MemoedGroupedCell = React.memo(function MemoedGroupedCell<TType = unknown>(props: MemoedGroupedCellProps<TType>) {\n const { canShowActions, cellRef, children, colSpan, rowActions, rowId, subRows, table, ...attributes } = props;\n\n return (\n // pr-1 is needed to align group row actions with row actions in sibling rows, if present\n <td {...attributes} className=\"!pr-1\" ref={cellRef} style={{ gridColumn: `span ${colSpan} / span ${colSpan}` }}>\n <span className=\"grow\">{children}</span>\n {hasRowActions(rowActions) && canShowActions ? (\n <RowGroupActions<TType>\n // TOOD: remove \"as\" when we'll migrate to a new API and get rid of mixed array types\n actions={rowActions as any}\n actionsLength={4}\n data={subRows}\n isActiveRow\n rowId={rowId}\n table={table}\n />\n ) : null}\n </td>\n );\n}) as <TType = unknown>(props: MemoedGroupedCellProps<TType>) => React.JSX.Element;\n"],"names":["React","MemoedGroupedCell","RowGroupActions"],"mappings":";;;;;;;AAYO,SAAS,YAA6B,OAAsC;AAC/E,QAAM,EAAE,MAAM,SAAS,OAAO,kBAAkB;AAChD,QAAM,EAAE,MAAA,IAAU,KAAK,WAAA;AACvB,QAAM,YAAY,aAAa,KAAK;AACpC,QAAM,aAAa,kBAAkB,MAAM,OAAO,aAAa;AAE/D,QAAM,EAAE,WAAW,SAAA,IAAaA,eAAM,WAAW,UAAU;AAC3D,QAAM,cAAc,UAAU,UAAU,mBAAmB;AAC3D,QAAM,iBAAiB,eAAgB,aAAa,CAAC,UAAU,UAAU;AAIzE,QAAM,UACF,KAAK,IAAI,kBAAkB,OAAO,OAAK,EAAE,OAAO,OAAO,eAAe,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS;AACnH,QAAM,UAAU,KAAK,WAAA,EAAa,IAAI,QAAQ,IAAI,CAAA,QAAO,IAAI,QAAQ;AAIrE,QAAM,UAAU,OAAO,KAAK,OAAO,UAAU,SAAS,aAAa,KAAK,OAAO,UAAU,KAAK,KAAK,WAAA,CAAY,IAAI;AAEnH,SACIA,+BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,UAAU,UAAU;AAAA,MAChC,OAAO,KAAK,IAAI;AAAA,MAChB;AAAA,MACA;AAAA,IAAA;AAAA,IACC;AAAA,EAAA;AAGb;AAYA,MAAM,oBAAoBA,eAAM,KAAK,SAASC,mBAAmC,OAAsC;AACnH,QAAM,EAAE,gBAAgB,SAAS,UAAU,SAAS,YAAY,OAAO,SAAS,OAAO,GAAG,WAAA,IAAe;AAEzG;AAAA;AAAA,IAEID,+BAAA,cAAC,MAAA,EAAI,GAAG,YAAY,WAAU,SAAQ,KAAK,SAAS,OAAO,EAAE,YAAY,QAAQ,OAAO,WAAW,OAAO,GAAA,EAAG,GACzGA,+BAAA,cAAC,QAAA,EAAK,WAAU,OAAA,GAAQ,QAAS,GAChC,cAAc,UAAU,KAAK,iBAC1BA,+BAAA;AAAA,MAACE;AAAAA,MAAA;AAAA,QAEG,SAAS;AAAA,QACT,eAAe;AAAA,QACf,MAAM;AAAA,QACN,aAAW;AAAA,QACX;AAAA,QACA;AAAA,MAAA;AAAA,IAAA,IAEJ,IACR;AAAA;AAER,CAAC;"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const React = require("react");
|
|
4
4
|
const columns = require("../../../../useTableManager/util/columns.cjs");
|
|
5
|
+
const rows = require("../../../../useTableManager/util/rows.cjs");
|
|
5
6
|
const RowContext = require("../../Row/RowContext.cjs");
|
|
6
7
|
const Localization = require("../../../../../../components/Provider/Localization.cjs");
|
|
7
8
|
function getCellAttributes(cell, index, isHighlighted) {
|
|
@@ -13,15 +14,15 @@ function getCellAttributes(cell, index, isHighlighted) {
|
|
|
13
14
|
"data-cell-id": cell.column.id,
|
|
14
15
|
"data-cell-index": index,
|
|
15
16
|
"data-cell-pinned": isPinned ? true : void 0,
|
|
16
|
-
"data-cell-truncate": columnMeta
|
|
17
|
-
className: typeof columnMeta
|
|
17
|
+
"data-cell-truncate": columnMeta?.enableTruncate ? true : void 0,
|
|
18
|
+
className: typeof columnMeta?.className === "function" ? columnMeta.className(cell.row.original) : columnMeta?.className
|
|
18
19
|
};
|
|
19
20
|
}
|
|
20
21
|
function useSearchHighlighting(cell, cellIndex, ref) {
|
|
21
22
|
const localization = Localization.useLocalization();
|
|
22
23
|
const { rowIndex } = React.useContext(RowContext.RowContext);
|
|
23
24
|
const context = cell.getContext();
|
|
24
|
-
const tableMeta = context.table
|
|
25
|
+
const tableMeta = rows.getTableMeta(context.table);
|
|
25
26
|
const columnMeta = cell.column.columnDef.meta;
|
|
26
27
|
const isHighlighted = React.useMemo(() => {
|
|
27
28
|
if (!cell.column.columnDef.enableGlobalFilter || columns.isInternalColumn(cell.column.id) || cell.getIsAggregated() || cell.getIsPlaceholder()) {
|
|
@@ -33,8 +34,8 @@ function useSearchHighlighting(cell, cellIndex, ref) {
|
|
|
33
34
|
context.table.getState().globalFilter,
|
|
34
35
|
cell.getValue(),
|
|
35
36
|
cell.row.original,
|
|
36
|
-
columnMeta
|
|
37
|
-
columnMeta
|
|
37
|
+
columnMeta?.dataType,
|
|
38
|
+
columnMeta?.dataTypeOptions,
|
|
38
39
|
localization
|
|
39
40
|
);
|
|
40
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.cjs","sources":["../../../../../../../src/primitives/Table/Core/components/Columns/Cell/util.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"util.cjs","sources":["../../../../../../../src/primitives/Table/Core/components/Columns/Cell/util.ts"],"sourcesContent":["import type { Cell as ReactTableCell } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { useLocalization } from '@/components';\n\nimport { isCellHighlighted, isInternalColumn } from '../../../../useTableManager/util/columns';\nimport { getTableMeta } from '../../../../useTableManager/util/rows';\nimport { RowContext } from '../../Row/RowContext';\n\nexport type DisplayCellProps<TType = unknown> = {\n index: number;\n cell: ReactTableCell<TType, unknown>;\n};\n\nexport function getCellAttributes<TType = unknown>(\n cell: ReactTableCell<TType, unknown>,\n index: number,\n isHighlighted: true | 'current' | undefined\n) {\n const columnMeta = cell.column.columnDef.meta;\n const isPinned = cell.column.getIsPinned();\n\n // be careful adding new properties here, any objects will break cell memoisation (e.g. the style attribute)\n return {\n 'data-cell-align': columnMeta?.align,\n 'data-cell-highlighted': isHighlighted,\n 'data-cell-id': cell.column.id,\n 'data-cell-index': index,\n 'data-cell-pinned': isPinned ? true : undefined,\n 'data-cell-truncate': columnMeta?.enableTruncate ? true : undefined,\n className: typeof columnMeta?.className === 'function' ? columnMeta.className(cell.row.original) : columnMeta?.className,\n };\n}\n\nexport function useSearchHighlighting<TType = unknown>(\n cell: ReactTableCell<TType, unknown>,\n cellIndex: number,\n ref: React.RefObject<HTMLTableCellElement | null>\n) {\n const localization = useLocalization();\n const { rowIndex } = React.useContext(RowContext);\n const context = cell.getContext();\n const tableMeta = getTableMeta(context.table);\n const columnMeta = cell.column.columnDef.meta;\n\n const isHighlighted: 'current' | boolean | undefined = React.useMemo(() => {\n if (\n !cell.column.columnDef.enableGlobalFilter ||\n isInternalColumn(cell.column.id) ||\n cell.getIsAggregated() ||\n cell.getIsPlaceholder()\n ) {\n return undefined;\n }\n\n let isHighlighted = false;\n\n if (context.table.getState().globalFilter) {\n isHighlighted = isCellHighlighted(\n context.table.getState().globalFilter,\n cell.getValue(),\n cell.row.original,\n columnMeta?.dataType,\n columnMeta?.dataTypeOptions,\n localization\n );\n }\n\n if (!isHighlighted || tableMeta.search.currentHighlightColumnIndex === undefined) {\n return undefined;\n }\n\n const [rowActiveIndex, currentColumnIndex] =\n tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex] ?? [];\n\n if (rowActiveIndex === rowIndex && currentColumnIndex === cellIndex) {\n return 'current';\n }\n\n return true;\n }, [\n cell.getValue(),\n context.table.getState().globalFilter,\n tableMeta.search.highlightedColumnIndexes.length,\n tableMeta.search.currentHighlightColumnIndex,\n ]);\n\n React.useEffect(() => {\n if (ref.current && isHighlighted === 'current') {\n ref.current.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n\n setTimeout(() => {\n if (ref.current) {\n const tableEl = ref.current.closest('table[data-taco^=\"table\"]');\n\n setTimeout(() => {\n const pinnedColumns = tableEl?.querySelectorAll('thead tr:last-child th[data-cell-pinned=\"left\"]');\n\n if (pinnedColumns?.length) {\n const lastFrozenRect = pinnedColumns.item(pinnedColumns.length - 1)?.getBoundingClientRect();\n\n if (lastFrozenRect && cell.column.getStart() < lastFrozenRect.right) {\n tableEl?.scrollTo(cell.column.getStart() - lastFrozenRect.right, tableEl.scrollTop);\n }\n }\n }, 1);\n }\n }, 1);\n }\n }, [isHighlighted]);\n\n return isHighlighted;\n}\n\nexport function getCurrentRowCellElement(index: number, tableEl: HTMLElement) {\n const cellSelector = `[data-current=\"true\"] [data-column-index=\"${index}\"`;\n return tableEl.querySelector(cellSelector);\n}\n\nexport function scrollColumnIntoView(columnIndex: number, frozenColumnIndex: number, column: HTMLElement, tableEl: HTMLElement) {\n if (frozenColumnIndex !== undefined && columnIndex > frozenColumnIndex) {\n const lastFrozenColumnElement = getCurrentRowCellElement(frozenColumnIndex, tableEl);\n const highlightRef = column?.getBoundingClientRect();\n const lastFrozenRect = lastFrozenColumnElement?.getBoundingClientRect();\n\n // offset the width of frozen columns so that the column being scrolled to is not hidden behind them\n if (highlightRef && lastFrozenRect && highlightRef.left < lastFrozenRect.left + lastFrozenRect.width) {\n const pinnedColumnsWidth = lastFrozenRect.left + lastFrozenRect.width;\n tableEl?.scrollTo(highlightRef.left - pinnedColumnsWidth, tableEl.scrollTop);\n }\n } else {\n column.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n}\n"],"names":["useLocalization","RowContext","getTableMeta","isInternalColumn","isHighlighted","isCellHighlighted"],"mappings":";;;;;;;AAcO,SAAS,kBACZ,MACA,OACA,eACF;AACE,QAAM,aAAa,KAAK,OAAO,UAAU;AACzC,QAAM,WAAW,KAAK,OAAO,YAAA;AAG7B,SAAO;AAAA,IACH,mBAAmB,YAAY;AAAA,IAC/B,yBAAyB;AAAA,IACzB,gBAAgB,KAAK,OAAO;AAAA,IAC5B,mBAAmB;AAAA,IACnB,oBAAoB,WAAW,OAAO;AAAA,IACtC,sBAAsB,YAAY,iBAAiB,OAAO;AAAA,IAC1D,WAAW,OAAO,YAAY,cAAc,aAAa,WAAW,UAAU,KAAK,IAAI,QAAQ,IAAI,YAAY;AAAA,EAAA;AAEvH;AAEO,SAAS,sBACZ,MACA,WACA,KACF;AACE,QAAM,eAAeA,aAAAA,gBAAA;AACrB,QAAM,EAAE,SAAA,IAAa,MAAM,WAAWC,WAAAA,UAAU;AAChD,QAAM,UAAU,KAAK,WAAA;AACrB,QAAM,YAAYC,KAAAA,aAAa,QAAQ,KAAK;AAC5C,QAAM,aAAa,KAAK,OAAO,UAAU;AAEzC,QAAM,gBAAiD,MAAM,QAAQ,MAAM;AACvE,QACI,CAAC,KAAK,OAAO,UAAU,sBACvBC,QAAAA,iBAAiB,KAAK,OAAO,EAAE,KAC/B,KAAK,gBAAA,KACL,KAAK,oBACP;AACE,aAAO;AAAA,IACX;AAEA,QAAIC,iBAAgB;AAEpB,QAAI,QAAQ,MAAM,SAAA,EAAW,cAAc;AACvCA,uBAAgBC,QAAAA;AAAAA,QACZ,QAAQ,MAAM,SAAA,EAAW;AAAA,QACzB,KAAK,SAAA;AAAA,QACL,KAAK,IAAI;AAAA,QACT,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ;AAAA,MAAA;AAAA,IAER;AAEA,QAAI,CAACD,kBAAiB,UAAU,OAAO,gCAAgC,QAAW;AAC9E,aAAO;AAAA,IACX;AAEA,UAAM,CAAC,gBAAgB,kBAAkB,IACrC,UAAU,OAAO,yBAAyB,UAAU,OAAO,2BAA2B,KAAK,CAAA;AAE/F,QAAI,mBAAmB,YAAY,uBAAuB,WAAW;AACjE,aAAO;AAAA,IACX;AAEA,WAAO;AAAA,EACX,GAAG;AAAA,IACC,KAAK,SAAA;AAAA,IACL,QAAQ,MAAM,SAAA,EAAW;AAAA,IACzB,UAAU,OAAO,yBAAyB;AAAA,IAC1C,UAAU,OAAO;AAAA,EAAA,CACpB;AAED,QAAM,UAAU,MAAM;AAClB,QAAI,IAAI,WAAW,kBAAkB,WAAW;AAC5C,UAAI,QAAQ,eAAe,EAAE,OAAO,WAAW,QAAQ,WAAW;AAElE,iBAAW,MAAM;AACb,YAAI,IAAI,SAAS;AACb,gBAAM,UAAU,IAAI,QAAQ,QAAQ,2BAA2B;AAE/D,qBAAW,MAAM;AACb,kBAAM,gBAAgB,SAAS,iBAAiB,iDAAiD;AAEjG,gBAAI,eAAe,QAAQ;AACvB,oBAAM,iBAAiB,cAAc,KAAK,cAAc,SAAS,CAAC,GAAG,sBAAA;AAErE,kBAAI,kBAAkB,KAAK,OAAO,SAAA,IAAa,eAAe,OAAO;AACjE,yBAAS,SAAS,KAAK,OAAO,SAAA,IAAa,eAAe,OAAO,QAAQ,SAAS;AAAA,cACtF;AAAA,YACJ;AAAA,UACJ,GAAG,CAAC;AAAA,QACR;AAAA,MACJ,GAAG,CAAC;AAAA,IACR;AAAA,EACJ,GAAG,CAAC,aAAa,CAAC;AAElB,SAAO;AACX;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React__default from "react";
|
|
2
2
|
import { isInternalColumn, isCellHighlighted } from "../../../../useTableManager/util/columns.js";
|
|
3
|
+
import { getTableMeta } from "../../../../useTableManager/util/rows.js";
|
|
3
4
|
import { RowContext } from "../../Row/RowContext.js";
|
|
4
5
|
import { useLocalization } from "../../../../../../components/Provider/Localization.js";
|
|
5
6
|
function getCellAttributes(cell, index, isHighlighted) {
|
|
@@ -11,15 +12,15 @@ function getCellAttributes(cell, index, isHighlighted) {
|
|
|
11
12
|
"data-cell-id": cell.column.id,
|
|
12
13
|
"data-cell-index": index,
|
|
13
14
|
"data-cell-pinned": isPinned ? true : void 0,
|
|
14
|
-
"data-cell-truncate": columnMeta
|
|
15
|
-
className: typeof columnMeta
|
|
15
|
+
"data-cell-truncate": columnMeta?.enableTruncate ? true : void 0,
|
|
16
|
+
className: typeof columnMeta?.className === "function" ? columnMeta.className(cell.row.original) : columnMeta?.className
|
|
16
17
|
};
|
|
17
18
|
}
|
|
18
19
|
function useSearchHighlighting(cell, cellIndex, ref) {
|
|
19
20
|
const localization = useLocalization();
|
|
20
21
|
const { rowIndex } = React__default.useContext(RowContext);
|
|
21
22
|
const context = cell.getContext();
|
|
22
|
-
const tableMeta = context.table
|
|
23
|
+
const tableMeta = getTableMeta(context.table);
|
|
23
24
|
const columnMeta = cell.column.columnDef.meta;
|
|
24
25
|
const isHighlighted = React__default.useMemo(() => {
|
|
25
26
|
if (!cell.column.columnDef.enableGlobalFilter || isInternalColumn(cell.column.id) || cell.getIsAggregated() || cell.getIsPlaceholder()) {
|
|
@@ -31,8 +32,8 @@ function useSearchHighlighting(cell, cellIndex, ref) {
|
|
|
31
32
|
context.table.getState().globalFilter,
|
|
32
33
|
cell.getValue(),
|
|
33
34
|
cell.row.original,
|
|
34
|
-
columnMeta
|
|
35
|
-
columnMeta
|
|
35
|
+
columnMeta?.dataType,
|
|
36
|
+
columnMeta?.dataTypeOptions,
|
|
36
37
|
localization
|
|
37
38
|
);
|
|
38
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sources":["../../../../../../../src/primitives/Table/Core/components/Columns/Cell/util.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"util.js","sources":["../../../../../../../src/primitives/Table/Core/components/Columns/Cell/util.ts"],"sourcesContent":["import type { Cell as ReactTableCell } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { useLocalization } from '@/components';\n\nimport { isCellHighlighted, isInternalColumn } from '../../../../useTableManager/util/columns';\nimport { getTableMeta } from '../../../../useTableManager/util/rows';\nimport { RowContext } from '../../Row/RowContext';\n\nexport type DisplayCellProps<TType = unknown> = {\n index: number;\n cell: ReactTableCell<TType, unknown>;\n};\n\nexport function getCellAttributes<TType = unknown>(\n cell: ReactTableCell<TType, unknown>,\n index: number,\n isHighlighted: true | 'current' | undefined\n) {\n const columnMeta = cell.column.columnDef.meta;\n const isPinned = cell.column.getIsPinned();\n\n // be careful adding new properties here, any objects will break cell memoisation (e.g. the style attribute)\n return {\n 'data-cell-align': columnMeta?.align,\n 'data-cell-highlighted': isHighlighted,\n 'data-cell-id': cell.column.id,\n 'data-cell-index': index,\n 'data-cell-pinned': isPinned ? true : undefined,\n 'data-cell-truncate': columnMeta?.enableTruncate ? true : undefined,\n className: typeof columnMeta?.className === 'function' ? columnMeta.className(cell.row.original) : columnMeta?.className,\n };\n}\n\nexport function useSearchHighlighting<TType = unknown>(\n cell: ReactTableCell<TType, unknown>,\n cellIndex: number,\n ref: React.RefObject<HTMLTableCellElement | null>\n) {\n const localization = useLocalization();\n const { rowIndex } = React.useContext(RowContext);\n const context = cell.getContext();\n const tableMeta = getTableMeta(context.table);\n const columnMeta = cell.column.columnDef.meta;\n\n const isHighlighted: 'current' | boolean | undefined = React.useMemo(() => {\n if (\n !cell.column.columnDef.enableGlobalFilter ||\n isInternalColumn(cell.column.id) ||\n cell.getIsAggregated() ||\n cell.getIsPlaceholder()\n ) {\n return undefined;\n }\n\n let isHighlighted = false;\n\n if (context.table.getState().globalFilter) {\n isHighlighted = isCellHighlighted(\n context.table.getState().globalFilter,\n cell.getValue(),\n cell.row.original,\n columnMeta?.dataType,\n columnMeta?.dataTypeOptions,\n localization\n );\n }\n\n if (!isHighlighted || tableMeta.search.currentHighlightColumnIndex === undefined) {\n return undefined;\n }\n\n const [rowActiveIndex, currentColumnIndex] =\n tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex] ?? [];\n\n if (rowActiveIndex === rowIndex && currentColumnIndex === cellIndex) {\n return 'current';\n }\n\n return true;\n }, [\n cell.getValue(),\n context.table.getState().globalFilter,\n tableMeta.search.highlightedColumnIndexes.length,\n tableMeta.search.currentHighlightColumnIndex,\n ]);\n\n React.useEffect(() => {\n if (ref.current && isHighlighted === 'current') {\n ref.current.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n\n setTimeout(() => {\n if (ref.current) {\n const tableEl = ref.current.closest('table[data-taco^=\"table\"]');\n\n setTimeout(() => {\n const pinnedColumns = tableEl?.querySelectorAll('thead tr:last-child th[data-cell-pinned=\"left\"]');\n\n if (pinnedColumns?.length) {\n const lastFrozenRect = pinnedColumns.item(pinnedColumns.length - 1)?.getBoundingClientRect();\n\n if (lastFrozenRect && cell.column.getStart() < lastFrozenRect.right) {\n tableEl?.scrollTo(cell.column.getStart() - lastFrozenRect.right, tableEl.scrollTop);\n }\n }\n }, 1);\n }\n }, 1);\n }\n }, [isHighlighted]);\n\n return isHighlighted;\n}\n\nexport function getCurrentRowCellElement(index: number, tableEl: HTMLElement) {\n const cellSelector = `[data-current=\"true\"] [data-column-index=\"${index}\"`;\n return tableEl.querySelector(cellSelector);\n}\n\nexport function scrollColumnIntoView(columnIndex: number, frozenColumnIndex: number, column: HTMLElement, tableEl: HTMLElement) {\n if (frozenColumnIndex !== undefined && columnIndex > frozenColumnIndex) {\n const lastFrozenColumnElement = getCurrentRowCellElement(frozenColumnIndex, tableEl);\n const highlightRef = column?.getBoundingClientRect();\n const lastFrozenRect = lastFrozenColumnElement?.getBoundingClientRect();\n\n // offset the width of frozen columns so that the column being scrolled to is not hidden behind them\n if (highlightRef && lastFrozenRect && highlightRef.left < lastFrozenRect.left + lastFrozenRect.width) {\n const pinnedColumnsWidth = lastFrozenRect.left + lastFrozenRect.width;\n tableEl?.scrollTo(highlightRef.left - pinnedColumnsWidth, tableEl.scrollTop);\n }\n } else {\n column.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n}\n"],"names":["React","isHighlighted"],"mappings":";;;;;AAcO,SAAS,kBACZ,MACA,OACA,eACF;AACE,QAAM,aAAa,KAAK,OAAO,UAAU;AACzC,QAAM,WAAW,KAAK,OAAO,YAAA;AAG7B,SAAO;AAAA,IACH,mBAAmB,YAAY;AAAA,IAC/B,yBAAyB;AAAA,IACzB,gBAAgB,KAAK,OAAO;AAAA,IAC5B,mBAAmB;AAAA,IACnB,oBAAoB,WAAW,OAAO;AAAA,IACtC,sBAAsB,YAAY,iBAAiB,OAAO;AAAA,IAC1D,WAAW,OAAO,YAAY,cAAc,aAAa,WAAW,UAAU,KAAK,IAAI,QAAQ,IAAI,YAAY;AAAA,EAAA;AAEvH;AAEO,SAAS,sBACZ,MACA,WACA,KACF;AACE,QAAM,eAAe,gBAAA;AACrB,QAAM,EAAE,SAAA,IAAaA,eAAM,WAAW,UAAU;AAChD,QAAM,UAAU,KAAK,WAAA;AACrB,QAAM,YAAY,aAAa,QAAQ,KAAK;AAC5C,QAAM,aAAa,KAAK,OAAO,UAAU;AAEzC,QAAM,gBAAiDA,eAAM,QAAQ,MAAM;AACvE,QACI,CAAC,KAAK,OAAO,UAAU,sBACvB,iBAAiB,KAAK,OAAO,EAAE,KAC/B,KAAK,gBAAA,KACL,KAAK,oBACP;AACE,aAAO;AAAA,IACX;AAEA,QAAIC,iBAAgB;AAEpB,QAAI,QAAQ,MAAM,SAAA,EAAW,cAAc;AACvCA,uBAAgB;AAAA,QACZ,QAAQ,MAAM,SAAA,EAAW;AAAA,QACzB,KAAK,SAAA;AAAA,QACL,KAAK,IAAI;AAAA,QACT,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ;AAAA,MAAA;AAAA,IAER;AAEA,QAAI,CAACA,kBAAiB,UAAU,OAAO,gCAAgC,QAAW;AAC9E,aAAO;AAAA,IACX;AAEA,UAAM,CAAC,gBAAgB,kBAAkB,IACrC,UAAU,OAAO,yBAAyB,UAAU,OAAO,2BAA2B,KAAK,CAAA;AAE/F,QAAI,mBAAmB,YAAY,uBAAuB,WAAW;AACjE,aAAO;AAAA,IACX;AAEA,WAAO;AAAA,EACX,GAAG;AAAA,IACC,KAAK,SAAA;AAAA,IACL,QAAQ,MAAM,SAAA,EAAW;AAAA,IACzB,UAAU,OAAO,yBAAyB;AAAA,IAC1C,UAAU,OAAO;AAAA,EAAA,CACpB;AAEDD,iBAAM,UAAU,MAAM;AAClB,QAAI,IAAI,WAAW,kBAAkB,WAAW;AAC5C,UAAI,QAAQ,eAAe,EAAE,OAAO,WAAW,QAAQ,WAAW;AAElE,iBAAW,MAAM;AACb,YAAI,IAAI,SAAS;AACb,gBAAM,UAAU,IAAI,QAAQ,QAAQ,2BAA2B;AAE/D,qBAAW,MAAM;AACb,kBAAM,gBAAgB,SAAS,iBAAiB,iDAAiD;AAEjG,gBAAI,eAAe,QAAQ;AACvB,oBAAM,iBAAiB,cAAc,KAAK,cAAc,SAAS,CAAC,GAAG,sBAAA;AAErE,kBAAI,kBAAkB,KAAK,OAAO,SAAA,IAAa,eAAe,OAAO;AACjE,yBAAS,SAAS,KAAK,OAAO,SAAA,IAAa,eAAe,OAAO,QAAQ,SAAS;AAAA,cACtF;AAAA,YACJ;AAAA,UACJ,GAAG,CAAC;AAAA,QACR;AAAA,MACJ,GAAG,CAAC;AAAA,IACR;AAAA,EACJ,GAAG,CAAC,aAAa,CAAC;AAElB,SAAO;AACX;"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const cn = require("clsx");
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const rowActions = require("../../../../useTableManager/util/rowActions.cjs");
|
|
6
|
+
const rows = require("../../../../useTableManager/util/rows.cjs");
|
|
6
7
|
const RowContext = require("../../Row/RowContext.cjs");
|
|
7
8
|
const Localization = require("../../../../../../components/Provider/Localization.cjs");
|
|
8
9
|
const Shortcut = require("../../../../../../components/Shortcut/Shortcut.cjs");
|
|
@@ -29,7 +30,7 @@ function renderRowActionConfig(config, arg) {
|
|
|
29
30
|
function Actions(props) {
|
|
30
31
|
const { actions, actionsLength, data, isActiveRow, rowId, table } = props;
|
|
31
32
|
const { texts } = Localization.useLocalization();
|
|
32
|
-
const tableMeta = table
|
|
33
|
+
const tableMeta = rows.getTableMeta(table);
|
|
33
34
|
const helpers = {
|
|
34
35
|
rowId,
|
|
35
36
|
table
|
|
@@ -102,7 +103,7 @@ function Header() {
|
|
|
102
103
|
const Cell = React.memo(function MemoedCell(context) {
|
|
103
104
|
const { row, table } = context;
|
|
104
105
|
const { hideRowActions, isHovered, rowIndex } = React.useContext(RowContext.RowContext);
|
|
105
|
-
const tableMeta = table
|
|
106
|
+
const tableMeta = rows.getTableMeta(table);
|
|
106
107
|
const actions = tableMeta.rowActions.rowActions;
|
|
107
108
|
const actionsLength = tableMeta.rowActions.rowActionsLength;
|
|
108
109
|
const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;
|