@tanstack/table-core 9.0.0-beta.36 → 9.0.0-beta.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  2. package/dist/core/headers/buildHeaderGroups.d.cts +1 -1
  3. package/dist/core/headers/buildHeaderGroups.d.ts +1 -1
  4. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  5. package/dist/core/headers/coreHeadersFeature.utils.cjs +7 -7
  6. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  7. package/dist/core/headers/coreHeadersFeature.utils.js +7 -7
  8. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  9. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +2 -2
  10. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +2 -2
  11. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +1 -1
  12. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +1 -1
  13. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  14. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  15. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +6 -6
  16. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +6 -6
  17. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +6 -6
  18. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  19. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +3 -3
  20. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +3 -3
  21. package/dist/features/column-ordering/columnOrderingFeature.utils.js +6 -6
  22. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  23. package/dist/features/column-pinning/columnPinningFeature.cjs +44 -39
  24. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  25. package/dist/features/column-pinning/columnPinningFeature.d.cts +6 -1
  26. package/dist/features/column-pinning/columnPinningFeature.d.ts +6 -1
  27. package/dist/features/column-pinning/columnPinningFeature.js +45 -40
  28. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  29. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +49 -38
  30. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +49 -38
  31. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +154 -146
  32. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  33. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +81 -73
  34. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +81 -73
  35. package/dist/features/column-pinning/columnPinningFeature.utils.js +141 -133
  36. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  37. package/dist/features/column-sizing/columnSizingFeature.cjs +4 -4
  38. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  39. package/dist/features/column-sizing/columnSizingFeature.js +5 -5
  40. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  41. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +18 -12
  42. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +18 -12
  43. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +24 -20
  44. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  45. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +18 -14
  46. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +18 -14
  47. package/dist/features/column-sizing/columnSizingFeature.utils.js +24 -20
  48. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  49. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +16 -16
  50. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  51. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +3 -3
  52. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +3 -3
  53. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +16 -16
  54. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  55. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +1 -1
  56. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +1 -1
  57. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +1 -1
  58. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +1 -1
  59. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +1 -1
  60. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +1 -1
  61. package/dist/static-functions.cjs +16 -16
  62. package/dist/static-functions.d.cts +3 -3
  63. package/dist/static-functions.d.ts +3 -3
  64. package/dist/static-functions.js +3 -3
  65. package/dist/utils.cjs +3 -15
  66. package/dist/utils.cjs.map +1 -1
  67. package/dist/utils.d.cts +2 -2
  68. package/dist/utils.d.ts +2 -2
  69. package/dist/utils.js +3 -15
  70. package/dist/utils.js.map +1 -1
  71. package/package.json +1 -1
  72. package/src/core/headers/buildHeaderGroups.ts +1 -1
  73. package/src/core/headers/coreHeadersFeature.utils.ts +7 -8
  74. package/src/core/row-models/coreRowModelsFeature.types.ts +0 -1
  75. package/src/core/table/coreTablesFeature.types.ts +1 -0
  76. package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -1
  77. package/src/features/column-filtering/columnFilteringFeature.types.ts +3 -3
  78. package/src/features/column-grouping/columnGroupingFeature.types.ts +2 -2
  79. package/src/features/column-grouping/columnGroupingFeature.utils.ts +2 -0
  80. package/src/features/column-ordering/columnOrderingFeature.types.ts +7 -7
  81. package/src/features/column-ordering/columnOrderingFeature.utils.ts +9 -9
  82. package/src/features/column-pinning/columnPinningFeature.ts +64 -59
  83. package/src/features/column-pinning/columnPinningFeature.types.ts +49 -38
  84. package/src/features/column-pinning/columnPinningFeature.utils.ts +163 -155
  85. package/src/features/column-sizing/columnSizingFeature.ts +6 -6
  86. package/src/features/column-sizing/columnSizingFeature.types.ts +18 -12
  87. package/src/features/column-sizing/columnSizingFeature.utils.ts +31 -27
  88. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +15 -15
  89. package/src/features/row-expanding/rowExpandingFeature.types.ts +2 -3
  90. package/src/features/row-pagination/rowPaginationFeature.types.ts +2 -3
  91. package/src/features/row-sorting/rowSortingFeature.types.ts +2 -2
  92. package/src/types/ColumnDef.ts +1 -0
  93. package/src/utils.ts +3 -4
@@ -1,10 +1,15 @@
1
1
  import { assignPrototypeAPIs, assignTableAPIs, callMemoOrStaticFn, makeStateUpdater } from "../../utils.js";
2
2
  import { table_getVisibleLeafColumns } from "../column-visibility/columnVisibilityFeature.utils.js";
3
- import { column_getCanPin, column_getIsPinned, column_getPinnedIndex, column_pin, getDefaultColumnPinningState, row_getCenterVisibleCells, row_getLeftVisibleCells, row_getRightVisibleCells, table_getCenterFlatHeaders, table_getCenterFooterGroups, table_getCenterHeaderGroups, table_getCenterLeafColumns, table_getCenterLeafHeaders, table_getCenterVisibleLeafColumns, table_getIsSomeColumnsPinned, table_getLeftFlatHeaders, table_getLeftFooterGroups, table_getLeftHeaderGroups, table_getLeftLeafColumns, table_getLeftLeafHeaders, table_getLeftVisibleLeafColumns, table_getPinnedLeafColumns, table_getPinnedVisibleLeafColumns, table_getRightFlatHeaders, table_getRightFooterGroups, table_getRightHeaderGroups, table_getRightLeafColumns, table_getRightLeafHeaders, table_getRightVisibleLeafColumns, table_resetColumnPinning, table_setColumnPinning } from "./columnPinningFeature.utils.js";
3
+ import { column_getCanPin, column_getIsPinned, column_getPinnedIndex, column_pin, getDefaultColumnPinningState, row_getCenterVisibleCells, row_getEndVisibleCells, row_getStartVisibleCells, table_getCenterFlatHeaders, table_getCenterFooterGroups, table_getCenterHeaderGroups, table_getCenterLeafColumns, table_getCenterLeafHeaders, table_getCenterVisibleLeafColumns, table_getEndFlatHeaders, table_getEndFooterGroups, table_getEndHeaderGroups, table_getEndLeafColumns, table_getEndLeafHeaders, table_getEndVisibleLeafColumns, table_getIsSomeColumnsPinned, table_getPinnedLeafColumns, table_getPinnedVisibleLeafColumns, table_getStartFlatHeaders, table_getStartFooterGroups, table_getStartHeaderGroups, table_getStartLeafColumns, table_getStartLeafHeaders, table_getStartVisibleLeafColumns, table_resetColumnPinning, table_setColumnPinning } from "./columnPinningFeature.utils.js";
4
4
 
5
5
  //#region src/features/column-pinning/columnPinningFeature.ts
6
6
  /**
7
- * Feature that adds column pinning state and APIs for left, center, and right regions.
7
+ * Feature that adds column pinning state and APIs for logical start, center,
8
+ * and end regions.
9
+ *
10
+ * In LTR languages/layouts, start usually corresponds to left and end to
11
+ * right. In RTL languages/layouts, start usually corresponds to right and end
12
+ * to left.
8
13
  */
9
14
  const columnPinningFeature = {
10
15
  getInitialState: (initialState) => {
@@ -37,19 +42,19 @@ const columnPinningFeature = {
37
42
  row.table.atoms.columnVisibility?.get()
38
43
  ]
39
44
  },
40
- row_getLeftVisibleCells: {
41
- fn: (row) => row_getLeftVisibleCells(row),
45
+ row_getStartVisibleCells: {
46
+ fn: (row) => row_getStartVisibleCells(row),
42
47
  memoDeps: (row) => [
43
48
  row.getAllCells(),
44
- row.table.atoms.columnPinning?.get()?.left,
49
+ row.table.atoms.columnPinning?.get()?.start,
45
50
  row.table.atoms.columnVisibility?.get()
46
51
  ]
47
52
  },
48
- row_getRightVisibleCells: {
49
- fn: (row) => row_getRightVisibleCells(row),
53
+ row_getEndVisibleCells: {
54
+ fn: (row) => row_getEndVisibleCells(row),
50
55
  memoDeps: (row) => [
51
56
  row.getAllCells(),
52
- row.table.atoms.columnPinning?.get()?.right,
57
+ row.table.atoms.columnPinning?.get()?.end,
53
58
  row.table.atoms.columnVisibility?.get()
54
59
  ]
55
60
  }
@@ -60,12 +65,12 @@ const columnPinningFeature = {
60
65
  table_setColumnPinning: { fn: (updater) => table_setColumnPinning(table, updater) },
61
66
  table_resetColumnPinning: { fn: (defaultState) => table_resetColumnPinning(table, defaultState) },
62
67
  table_getIsSomeColumnsPinned: { fn: (position) => table_getIsSomeColumnsPinned(table, position) },
63
- table_getLeftHeaderGroups: {
64
- fn: () => table_getLeftHeaderGroups(table),
68
+ table_getStartHeaderGroups: {
69
+ fn: () => table_getStartHeaderGroups(table),
65
70
  memoDeps: () => [
66
71
  table.getAllColumns(),
67
72
  callMemoOrStaticFn(table, "getVisibleLeafColumns", table_getVisibleLeafColumns),
68
- table.atoms.columnPinning?.get()?.left,
73
+ table.atoms.columnPinning?.get()?.start,
69
74
  table.atoms.columnOrder?.get()
70
75
  ]
71
76
  },
@@ -78,53 +83,53 @@ const columnPinningFeature = {
78
83
  table.atoms.columnOrder?.get()
79
84
  ]
80
85
  },
81
- table_getRightHeaderGroups: {
82
- fn: () => table_getRightHeaderGroups(table),
86
+ table_getEndHeaderGroups: {
87
+ fn: () => table_getEndHeaderGroups(table),
83
88
  memoDeps: () => [
84
89
  table.getAllColumns(),
85
90
  callMemoOrStaticFn(table, "getVisibleLeafColumns", table_getVisibleLeafColumns),
86
- table.atoms.columnPinning?.get()?.right,
91
+ table.atoms.columnPinning?.get()?.end,
87
92
  table.atoms.columnOrder?.get()
88
93
  ]
89
94
  },
90
- table_getLeftFooterGroups: {
91
- fn: () => table_getLeftFooterGroups(table),
92
- memoDeps: () => [callMemoOrStaticFn(table, "getLeftHeaderGroups", table_getLeftHeaderGroups)]
95
+ table_getStartFooterGroups: {
96
+ fn: () => table_getStartFooterGroups(table),
97
+ memoDeps: () => [callMemoOrStaticFn(table, "getStartHeaderGroups", table_getStartHeaderGroups)]
93
98
  },
94
99
  table_getCenterFooterGroups: {
95
100
  fn: () => table_getCenterFooterGroups(table),
96
101
  memoDeps: () => [callMemoOrStaticFn(table, "getCenterHeaderGroups", table_getCenterHeaderGroups)]
97
102
  },
98
- table_getRightFooterGroups: {
99
- fn: () => table_getRightFooterGroups(table),
100
- memoDeps: () => [callMemoOrStaticFn(table, "getRightHeaderGroups", table_getRightHeaderGroups)]
103
+ table_getEndFooterGroups: {
104
+ fn: () => table_getEndFooterGroups(table),
105
+ memoDeps: () => [callMemoOrStaticFn(table, "getEndHeaderGroups", table_getEndHeaderGroups)]
101
106
  },
102
- table_getLeftFlatHeaders: {
103
- fn: () => table_getLeftFlatHeaders(table),
104
- memoDeps: () => [callMemoOrStaticFn(table, "getLeftHeaderGroups", table_getLeftHeaderGroups)]
107
+ table_getStartFlatHeaders: {
108
+ fn: () => table_getStartFlatHeaders(table),
109
+ memoDeps: () => [callMemoOrStaticFn(table, "getStartHeaderGroups", table_getStartHeaderGroups)]
105
110
  },
106
- table_getRightFlatHeaders: {
107
- fn: () => table_getRightFlatHeaders(table),
108
- memoDeps: () => [callMemoOrStaticFn(table, "getRightHeaderGroups", table_getRightHeaderGroups)]
111
+ table_getEndFlatHeaders: {
112
+ fn: () => table_getEndFlatHeaders(table),
113
+ memoDeps: () => [callMemoOrStaticFn(table, "getEndHeaderGroups", table_getEndHeaderGroups)]
109
114
  },
110
115
  table_getCenterFlatHeaders: {
111
116
  fn: () => table_getCenterFlatHeaders(table),
112
117
  memoDeps: () => [callMemoOrStaticFn(table, "getCenterHeaderGroups", table_getCenterHeaderGroups)]
113
118
  },
114
- table_getLeftLeafHeaders: {
115
- fn: () => table_getLeftLeafHeaders(table),
116
- memoDeps: () => [callMemoOrStaticFn(table, "getLeftHeaderGroups", table_getLeftHeaderGroups)]
119
+ table_getStartLeafHeaders: {
120
+ fn: () => table_getStartLeafHeaders(table),
121
+ memoDeps: () => [callMemoOrStaticFn(table, "getStartHeaderGroups", table_getStartHeaderGroups)]
117
122
  },
118
- table_getRightLeafHeaders: {
119
- fn: () => table_getRightLeafHeaders(table),
120
- memoDeps: () => [callMemoOrStaticFn(table, "getRightHeaderGroups", table_getRightHeaderGroups)]
123
+ table_getEndLeafHeaders: {
124
+ fn: () => table_getEndLeafHeaders(table),
125
+ memoDeps: () => [callMemoOrStaticFn(table, "getEndHeaderGroups", table_getEndHeaderGroups)]
121
126
  },
122
127
  table_getCenterLeafHeaders: {
123
128
  fn: () => table_getCenterLeafHeaders(table),
124
129
  memoDeps: () => [callMemoOrStaticFn(table, "getCenterHeaderGroups", table_getCenterHeaderGroups)]
125
130
  },
126
- table_getLeftLeafColumns: {
127
- fn: () => table_getLeftLeafColumns(table),
131
+ table_getStartLeafColumns: {
132
+ fn: () => table_getStartLeafColumns(table),
128
133
  memoDeps: () => [
129
134
  table.options.columns,
130
135
  table.atoms.columnPinning?.get(),
@@ -133,8 +138,8 @@ const columnPinningFeature = {
133
138
  table.options.groupedColumnMode
134
139
  ]
135
140
  },
136
- table_getRightLeafColumns: {
137
- fn: () => table_getRightLeafColumns(table),
141
+ table_getEndLeafColumns: {
142
+ fn: () => table_getEndLeafColumns(table),
138
143
  memoDeps: () => [
139
144
  table.options.columns,
140
145
  table.atoms.columnPinning?.get(),
@@ -154,8 +159,8 @@ const columnPinningFeature = {
154
159
  ]
155
160
  },
156
161
  table_getPinnedLeafColumns: { fn: (position) => table_getPinnedLeafColumns(table, position) },
157
- table_getLeftVisibleLeafColumns: {
158
- fn: () => table_getLeftVisibleLeafColumns(table),
162
+ table_getStartVisibleLeafColumns: {
163
+ fn: () => table_getStartVisibleLeafColumns(table),
159
164
  memoDeps: () => [
160
165
  table.options.columns,
161
166
  table.atoms.columnPinning?.get(),
@@ -176,8 +181,8 @@ const columnPinningFeature = {
176
181
  table.options.groupedColumnMode
177
182
  ]
178
183
  },
179
- table_getRightVisibleLeafColumns: {
180
- fn: () => table_getRightVisibleLeafColumns(table),
184
+ table_getEndVisibleLeafColumns: {
185
+ fn: () => table_getEndVisibleLeafColumns(table),
181
186
  memoDeps: () => [
182
187
  table.options.columns,
183
188
  table.atoms.columnPinning?.get(),
@@ -1 +1 @@
1
- {"version":3,"file":"columnPinningFeature.js","names":[],"sources":["../../../src/features/column-pinning/columnPinningFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n makeStateUpdater,\n} from '../../utils'\nimport { table_getVisibleLeafColumns } from '../column-visibility/columnVisibilityFeature.utils'\nimport {\n column_getCanPin,\n column_getIsPinned,\n column_getPinnedIndex,\n column_pin,\n getDefaultColumnPinningState,\n row_getCenterVisibleCells,\n row_getLeftVisibleCells,\n row_getRightVisibleCells,\n table_getCenterFlatHeaders,\n table_getCenterFooterGroups,\n table_getCenterHeaderGroups,\n table_getCenterLeafColumns,\n table_getCenterLeafHeaders,\n table_getCenterVisibleLeafColumns,\n table_getIsSomeColumnsPinned,\n table_getLeftFlatHeaders,\n table_getLeftFooterGroups,\n table_getLeftHeaderGroups,\n table_getLeftLeafColumns,\n table_getLeftLeafHeaders,\n table_getLeftVisibleLeafColumns,\n table_getPinnedLeafColumns,\n table_getPinnedVisibleLeafColumns,\n table_getRightFlatHeaders,\n table_getRightFooterGroups,\n table_getRightHeaderGroups,\n table_getRightLeafColumns,\n table_getRightLeafHeaders,\n table_getRightVisibleLeafColumns,\n table_resetColumnPinning,\n table_setColumnPinning,\n} from './columnPinningFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds column pinning state and APIs for left, center, and right regions.\n */\nexport const columnPinningFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n columnPinning: {\n ...getDefaultColumnPinningState(),\n ...initialState.columnPinning,\n },\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnPinningFeature', prototype, table, {\n column_pin: {\n fn: (column, position) => column_pin(column, position),\n },\n column_getCanPin: {\n fn: (column) => column_getCanPin(column),\n },\n column_getPinnedIndex: {\n fn: (column) => column_getPinnedIndex(column),\n },\n column_getIsPinned: {\n fn: (column) => column_getIsPinned(column),\n },\n })\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnPinningFeature', prototype, table, {\n row_getCenterVisibleCells: {\n fn: (row) => row_getCenterVisibleCells(row),\n memoDeps: (row) => [\n row.getAllCells(),\n row.table.atoms.columnPinning?.get(),\n row.table.atoms.columnVisibility?.get(),\n ],\n },\n row_getLeftVisibleCells: {\n fn: (row) => row_getLeftVisibleCells(row),\n memoDeps: (row) => [\n row.getAllCells(),\n row.table.atoms.columnPinning?.get()?.left,\n row.table.atoms.columnVisibility?.get(),\n ],\n },\n row_getRightVisibleCells: {\n fn: (row) => row_getRightVisibleCells(row),\n memoDeps: (row) => [\n row.getAllCells(),\n row.table.atoms.columnPinning?.get()?.right,\n row.table.atoms.columnVisibility?.get(),\n ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnPinningFeature', table, {\n table_setColumnPinning: {\n fn: (updater) => table_setColumnPinning(table, updater),\n },\n table_resetColumnPinning: {\n fn: (defaultState) => table_resetColumnPinning(table, defaultState),\n },\n table_getIsSomeColumnsPinned: {\n fn: (position) => table_getIsSomeColumnsPinned(table, position),\n },\n // header groups\n table_getLeftHeaderGroups: {\n fn: () => table_getLeftHeaderGroups(table),\n memoDeps: () => [\n table.getAllColumns(),\n callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ),\n table.atoms.columnPinning?.get()?.left,\n table.atoms.columnOrder?.get(),\n ],\n },\n table_getCenterHeaderGroups: {\n fn: () => table_getCenterHeaderGroups(table),\n memoDeps: () => [\n table.getAllColumns(),\n callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ),\n table.atoms.columnPinning?.get(),\n table.atoms.columnOrder?.get(),\n ],\n },\n table_getRightHeaderGroups: {\n fn: () => table_getRightHeaderGroups(table),\n memoDeps: () => [\n table.getAllColumns(),\n callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ),\n table.atoms.columnPinning?.get()?.right,\n table.atoms.columnOrder?.get(),\n ],\n },\n // footer groups\n table_getLeftFooterGroups: {\n fn: () => table_getLeftFooterGroups(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n ],\n },\n table_getCenterFooterGroups: {\n fn: () => table_getCenterFooterGroups(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n ],\n },\n table_getRightFooterGroups: {\n fn: () => table_getRightFooterGroups(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n // flat headers\n table_getLeftFlatHeaders: {\n fn: () => table_getLeftFlatHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n ],\n },\n table_getRightFlatHeaders: {\n fn: () => table_getRightFlatHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n table_getCenterFlatHeaders: {\n fn: () => table_getCenterFlatHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n ],\n },\n // leaf headers\n table_getLeftLeafHeaders: {\n fn: () => table_getLeftLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n ],\n },\n table_getRightLeafHeaders: {\n fn: () => table_getRightLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n table_getCenterLeafHeaders: {\n fn: () => table_getCenterLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n ],\n },\n // leaf columns\n table_getLeftLeafColumns: {\n fn: () => table_getLeftLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnPinning?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getRightLeafColumns: {\n fn: () => table_getRightLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnPinning?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getCenterLeafColumns: {\n fn: () => table_getCenterLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnPinning?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getPinnedLeafColumns: {\n fn: (position) => table_getPinnedLeafColumns(table, position),\n // must not memo here as it's just a shortcut function\n },\n // visible leaf columns\n table_getLeftVisibleLeafColumns: {\n fn: () => table_getLeftVisibleLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getCenterVisibleLeafColumns: {\n fn: () => table_getCenterVisibleLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getRightVisibleLeafColumns: {\n fn: () => table_getRightVisibleLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getPinnedVisibleLeafColumns: {\n fn: (position) => table_getPinnedVisibleLeafColumns(table, position),\n // must not memo here as it's just a shortcut function\n },\n })\n },\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"columnPinningFeature.js","names":[],"sources":["../../../src/features/column-pinning/columnPinningFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n makeStateUpdater,\n} from '../../utils'\nimport { table_getVisibleLeafColumns } from '../column-visibility/columnVisibilityFeature.utils'\nimport {\n column_getCanPin,\n column_getIsPinned,\n column_getPinnedIndex,\n column_pin,\n getDefaultColumnPinningState,\n row_getCenterVisibleCells,\n row_getEndVisibleCells,\n row_getStartVisibleCells,\n table_getCenterFlatHeaders,\n table_getCenterFooterGroups,\n table_getCenterHeaderGroups,\n table_getCenterLeafColumns,\n table_getCenterLeafHeaders,\n table_getCenterVisibleLeafColumns,\n table_getEndFlatHeaders,\n table_getEndFooterGroups,\n table_getEndHeaderGroups,\n table_getEndLeafColumns,\n table_getEndLeafHeaders,\n table_getEndVisibleLeafColumns,\n table_getIsSomeColumnsPinned,\n table_getPinnedLeafColumns,\n table_getPinnedVisibleLeafColumns,\n table_getStartFlatHeaders,\n table_getStartFooterGroups,\n table_getStartHeaderGroups,\n table_getStartLeafColumns,\n table_getStartLeafHeaders,\n table_getStartVisibleLeafColumns,\n table_resetColumnPinning,\n table_setColumnPinning,\n} from './columnPinningFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds column pinning state and APIs for logical start, center,\n * and end regions.\n *\n * In LTR languages/layouts, start usually corresponds to left and end to\n * right. In RTL languages/layouts, start usually corresponds to right and end\n * to left.\n */\nexport const columnPinningFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n columnPinning: {\n ...getDefaultColumnPinningState(),\n ...initialState.columnPinning,\n },\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnPinningFeature', prototype, table, {\n column_pin: {\n fn: (column, position) => column_pin(column, position),\n },\n column_getCanPin: {\n fn: (column) => column_getCanPin(column),\n },\n column_getPinnedIndex: {\n fn: (column) => column_getPinnedIndex(column),\n },\n column_getIsPinned: {\n fn: (column) => column_getIsPinned(column),\n },\n })\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnPinningFeature', prototype, table, {\n row_getCenterVisibleCells: {\n fn: (row) => row_getCenterVisibleCells(row),\n memoDeps: (row) => [\n row.getAllCells(),\n row.table.atoms.columnPinning?.get(),\n row.table.atoms.columnVisibility?.get(),\n ],\n },\n row_getStartVisibleCells: {\n fn: (row) => row_getStartVisibleCells(row),\n memoDeps: (row) => [\n row.getAllCells(),\n row.table.atoms.columnPinning?.get()?.start,\n row.table.atoms.columnVisibility?.get(),\n ],\n },\n row_getEndVisibleCells: {\n fn: (row) => row_getEndVisibleCells(row),\n memoDeps: (row) => [\n row.getAllCells(),\n row.table.atoms.columnPinning?.get()?.end,\n row.table.atoms.columnVisibility?.get(),\n ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnPinningFeature', table, {\n table_setColumnPinning: {\n fn: (updater) => table_setColumnPinning(table, updater),\n },\n table_resetColumnPinning: {\n fn: (defaultState) => table_resetColumnPinning(table, defaultState),\n },\n table_getIsSomeColumnsPinned: {\n fn: (position) => table_getIsSomeColumnsPinned(table, position),\n },\n // header groups\n table_getStartHeaderGroups: {\n fn: () => table_getStartHeaderGroups(table),\n memoDeps: () => [\n table.getAllColumns(),\n callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ),\n table.atoms.columnPinning?.get()?.start,\n table.atoms.columnOrder?.get(),\n ],\n },\n table_getCenterHeaderGroups: {\n fn: () => table_getCenterHeaderGroups(table),\n memoDeps: () => [\n table.getAllColumns(),\n callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ),\n table.atoms.columnPinning?.get(),\n table.atoms.columnOrder?.get(),\n ],\n },\n table_getEndHeaderGroups: {\n fn: () => table_getEndHeaderGroups(table),\n memoDeps: () => [\n table.getAllColumns(),\n callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ),\n table.atoms.columnPinning?.get()?.end,\n table.atoms.columnOrder?.get(),\n ],\n },\n // footer groups\n table_getStartFooterGroups: {\n fn: () => table_getStartFooterGroups(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getStartHeaderGroups',\n table_getStartHeaderGroups,\n ),\n ],\n },\n table_getCenterFooterGroups: {\n fn: () => table_getCenterFooterGroups(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n ],\n },\n table_getEndFooterGroups: {\n fn: () => table_getEndFooterGroups(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getEndHeaderGroups',\n table_getEndHeaderGroups,\n ),\n ],\n },\n // flat headers\n table_getStartFlatHeaders: {\n fn: () => table_getStartFlatHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getStartHeaderGroups',\n table_getStartHeaderGroups,\n ),\n ],\n },\n table_getEndFlatHeaders: {\n fn: () => table_getEndFlatHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getEndHeaderGroups',\n table_getEndHeaderGroups,\n ),\n ],\n },\n table_getCenterFlatHeaders: {\n fn: () => table_getCenterFlatHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n ],\n },\n // leaf headers\n table_getStartLeafHeaders: {\n fn: () => table_getStartLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getStartHeaderGroups',\n table_getStartHeaderGroups,\n ),\n ],\n },\n table_getEndLeafHeaders: {\n fn: () => table_getEndLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getEndHeaderGroups',\n table_getEndHeaderGroups,\n ),\n ],\n },\n table_getCenterLeafHeaders: {\n fn: () => table_getCenterLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n ],\n },\n // leaf columns\n table_getStartLeafColumns: {\n fn: () => table_getStartLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnPinning?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getEndLeafColumns: {\n fn: () => table_getEndLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnPinning?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getCenterLeafColumns: {\n fn: () => table_getCenterLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnPinning?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getPinnedLeafColumns: {\n fn: (position) => table_getPinnedLeafColumns(table, position),\n // must not memo here as it's just a shortcut function\n },\n // visible leaf columns\n table_getStartVisibleLeafColumns: {\n fn: () => table_getStartVisibleLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getCenterVisibleLeafColumns: {\n fn: () => table_getCenterVisibleLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getEndVisibleLeafColumns: {\n fn: () => table_getEndVisibleLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getPinnedVisibleLeafColumns: {\n fn: (position) => table_getPinnedVisibleLeafColumns(table, position),\n // must not memo here as it's just a shortcut function\n },\n })\n },\n}\n"],"mappings":"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"}
@@ -6,17 +6,28 @@ import { Column } from "../../types/Column.cjs";
6
6
  import { TableFeatures } from "../../types/TableFeatures.cjs";
7
7
 
8
8
  //#region src/features/column-pinning/columnPinningFeature.types.d.ts
9
- type ColumnPinningPosition = false | 'left' | 'right';
9
+ /**
10
+ * Logical column pinning region.
11
+ *
12
+ * In LTR languages/layouts, `start` usually corresponds to left and `end`
13
+ * usually corresponds to right. In RTL languages/layouts, `start` usually
14
+ * corresponds to right and `end` usually corresponds to left.
15
+ */
16
+ type ColumnPinningPosition = false | 'start' | 'end';
10
17
  interface ColumnPinningState {
11
- left: Array<string>;
12
- right: Array<string>;
18
+ start: Array<string>;
19
+ end: Array<string>;
13
20
  }
14
21
  interface TableState_ColumnPinning {
15
22
  columnPinning: ColumnPinningState;
16
23
  }
17
24
  interface TableOptions_ColumnPinning {
18
25
  /**
19
- * Allows columns to be pinned into left and right regions.
26
+ * Allows columns to be pinned into logical start and end regions.
27
+ *
28
+ * In LTR languages/layouts, start usually corresponds to left and end to
29
+ * right. In RTL languages/layouts, start usually corresponds to right and end
30
+ * to left.
20
31
  *
21
32
  * Defaults to `true`; column-level `enablePinning` can still opt individual
22
33
  * columns out.
@@ -47,7 +58,7 @@ interface Column_ColumnPinning {
47
58
  */
48
59
  getCanPin: () => boolean;
49
60
  /**
50
- * Reads the column's pinned position: `'left'`, `'right'`, or `false`.
61
+ * Reads the column's logical pinned position: `'start'`, `'end'`, or `false`.
51
62
  */
52
63
  getIsPinned: () => ColumnPinningPosition;
53
64
  /**
@@ -55,24 +66,24 @@ interface Column_ColumnPinning {
55
66
  */
56
67
  getPinnedIndex: () => number;
57
68
  /**
58
- * Pins this column's leaf columns left or right, or unpins them when `false`
59
- * is passed.
69
+ * Pins this column's leaf columns to logical start or end, or unpins them
70
+ * when `false` is passed.
60
71
  */
61
72
  pin: (position: ColumnPinningPosition) => void;
62
73
  }
63
74
  interface Row_ColumnPinning<in out TFeatures extends TableFeatures, in out TData extends RowData> {
64
75
  /**
65
- * Gets visible row cells whose columns are not pinned left or right.
76
+ * Gets visible row cells whose columns are not pinned start or end.
66
77
  */
67
78
  getCenterVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
68
79
  /**
69
- * Gets visible row cells whose columns are pinned left.
80
+ * Gets visible row cells whose columns are pinned to logical start.
70
81
  */
71
- getLeftVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
82
+ getStartVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
72
83
  /**
73
- * Gets visible row cells whose columns are pinned right.
84
+ * Gets visible row cells whose columns are pinned to logical end.
74
85
  */
75
- getRightVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
86
+ getEndVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
76
87
  }
77
88
  interface Table_ColumnPinning<in out TFeatures extends TableFeatures, in out TData extends RowData> {
78
89
  /**
@@ -89,7 +100,7 @@ interface Table_ColumnPinning<in out TFeatures extends TableFeatures, in out TDa
89
100
  */
90
101
  getCenterHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
91
102
  /**
92
- * Gets leaf columns that are not pinned left or right.
103
+ * Gets leaf columns that are not pinned start or end.
93
104
  */
94
105
  getCenterLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
95
106
  /**
@@ -105,59 +116,59 @@ interface Table_ColumnPinning<in out TFeatures extends TableFeatures, in out TDa
105
116
  */
106
117
  getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean;
107
118
  /**
108
- * Builds flat left-region headers for pinned columns, including parent
119
+ * Builds flat logical start-region headers for pinned columns, including parent
109
120
  * headers.
110
121
  */
111
- getLeftFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
122
+ getStartFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
112
123
  /**
113
- * Builds footer groups for left-pinned columns.
124
+ * Builds footer groups for logical start-pinned columns.
114
125
  */
115
- getLeftFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
126
+ getStartFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
116
127
  /**
117
- * Builds header groups for left-pinned columns.
128
+ * Builds header groups for logical start-pinned columns.
118
129
  */
119
- getLeftHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
130
+ getStartHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
120
131
  /**
121
- * Gets leaf columns pinned to the left region in pinning-state order.
132
+ * Gets leaf columns pinned to the logical start region in pinning-state order.
122
133
  */
123
- getLeftLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
134
+ getStartLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
124
135
  /**
125
- * Builds leaf headers for left-pinned columns.
136
+ * Builds leaf headers for logical start-pinned columns.
126
137
  */
127
- getLeftLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
138
+ getStartLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
128
139
  /**
129
- * Lists visible leaf columns in the left pinned region.
140
+ * Lists visible leaf columns in the logical start pinned region.
130
141
  */
131
- getLeftVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
142
+ getStartVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
132
143
  /**
133
- * Builds flat right-region headers for pinned columns, including parent
144
+ * Builds flat logical end-region headers for pinned columns, including parent
134
145
  * headers.
135
146
  */
136
- getRightFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
147
+ getEndFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
137
148
  /**
138
- * Builds footer groups for right-pinned columns.
149
+ * Builds footer groups for logical end-pinned columns.
139
150
  */
140
- getRightFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
151
+ getEndFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
141
152
  /**
142
- * Builds header groups for right-pinned columns.
153
+ * Builds header groups for logical end-pinned columns.
143
154
  */
144
- getRightHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
155
+ getEndHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
145
156
  /**
146
- * Gets leaf columns pinned to the right region in pinning-state order.
157
+ * Gets leaf columns pinned to the logical end region in pinning-state order.
147
158
  */
148
- getRightLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
159
+ getEndLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
149
160
  /**
150
- * Builds leaf headers for right-pinned columns.
161
+ * Builds leaf headers for logical end-pinned columns.
151
162
  */
152
- getRightLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
163
+ getEndLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
153
164
  /**
154
- * Lists visible leaf columns in the right pinned region.
165
+ * Lists visible leaf columns in the logical end pinned region.
155
166
  */
156
- getRightVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
167
+ getEndVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
157
168
  /**
158
169
  * Resets `columnPinning` to `initialState.columnPinning`.
159
170
  *
160
- * Pass `true` to ignore initial state and reset to empty left/right arrays.
171
+ * Pass `true` to ignore initial state and reset to empty start/end arrays.
161
172
  */
162
173
  resetColumnPinning: (defaultState?: boolean) => void;
163
174
  /**
@@ -6,17 +6,28 @@ import { Column } from "../../types/Column.js";
6
6
  import { TableFeatures } from "../../types/TableFeatures.js";
7
7
 
8
8
  //#region src/features/column-pinning/columnPinningFeature.types.d.ts
9
- type ColumnPinningPosition = false | 'left' | 'right';
9
+ /**
10
+ * Logical column pinning region.
11
+ *
12
+ * In LTR languages/layouts, `start` usually corresponds to left and `end`
13
+ * usually corresponds to right. In RTL languages/layouts, `start` usually
14
+ * corresponds to right and `end` usually corresponds to left.
15
+ */
16
+ type ColumnPinningPosition = false | 'start' | 'end';
10
17
  interface ColumnPinningState {
11
- left: Array<string>;
12
- right: Array<string>;
18
+ start: Array<string>;
19
+ end: Array<string>;
13
20
  }
14
21
  interface TableState_ColumnPinning {
15
22
  columnPinning: ColumnPinningState;
16
23
  }
17
24
  interface TableOptions_ColumnPinning {
18
25
  /**
19
- * Allows columns to be pinned into left and right regions.
26
+ * Allows columns to be pinned into logical start and end regions.
27
+ *
28
+ * In LTR languages/layouts, start usually corresponds to left and end to
29
+ * right. In RTL languages/layouts, start usually corresponds to right and end
30
+ * to left.
20
31
  *
21
32
  * Defaults to `true`; column-level `enablePinning` can still opt individual
22
33
  * columns out.
@@ -47,7 +58,7 @@ interface Column_ColumnPinning {
47
58
  */
48
59
  getCanPin: () => boolean;
49
60
  /**
50
- * Reads the column's pinned position: `'left'`, `'right'`, or `false`.
61
+ * Reads the column's logical pinned position: `'start'`, `'end'`, or `false`.
51
62
  */
52
63
  getIsPinned: () => ColumnPinningPosition;
53
64
  /**
@@ -55,24 +66,24 @@ interface Column_ColumnPinning {
55
66
  */
56
67
  getPinnedIndex: () => number;
57
68
  /**
58
- * Pins this column's leaf columns left or right, or unpins them when `false`
59
- * is passed.
69
+ * Pins this column's leaf columns to logical start or end, or unpins them
70
+ * when `false` is passed.
60
71
  */
61
72
  pin: (position: ColumnPinningPosition) => void;
62
73
  }
63
74
  interface Row_ColumnPinning<in out TFeatures extends TableFeatures, in out TData extends RowData> {
64
75
  /**
65
- * Gets visible row cells whose columns are not pinned left or right.
76
+ * Gets visible row cells whose columns are not pinned start or end.
66
77
  */
67
78
  getCenterVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
68
79
  /**
69
- * Gets visible row cells whose columns are pinned left.
80
+ * Gets visible row cells whose columns are pinned to logical start.
70
81
  */
71
- getLeftVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
82
+ getStartVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
72
83
  /**
73
- * Gets visible row cells whose columns are pinned right.
84
+ * Gets visible row cells whose columns are pinned to logical end.
74
85
  */
75
- getRightVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
86
+ getEndVisibleCells: () => Array<Cell<TFeatures, TData, unknown>>;
76
87
  }
77
88
  interface Table_ColumnPinning<in out TFeatures extends TableFeatures, in out TData extends RowData> {
78
89
  /**
@@ -89,7 +100,7 @@ interface Table_ColumnPinning<in out TFeatures extends TableFeatures, in out TDa
89
100
  */
90
101
  getCenterHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
91
102
  /**
92
- * Gets leaf columns that are not pinned left or right.
103
+ * Gets leaf columns that are not pinned start or end.
93
104
  */
94
105
  getCenterLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
95
106
  /**
@@ -105,59 +116,59 @@ interface Table_ColumnPinning<in out TFeatures extends TableFeatures, in out TDa
105
116
  */
106
117
  getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean;
107
118
  /**
108
- * Builds flat left-region headers for pinned columns, including parent
119
+ * Builds flat logical start-region headers for pinned columns, including parent
109
120
  * headers.
110
121
  */
111
- getLeftFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
122
+ getStartFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
112
123
  /**
113
- * Builds footer groups for left-pinned columns.
124
+ * Builds footer groups for logical start-pinned columns.
114
125
  */
115
- getLeftFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
126
+ getStartFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
116
127
  /**
117
- * Builds header groups for left-pinned columns.
128
+ * Builds header groups for logical start-pinned columns.
118
129
  */
119
- getLeftHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
130
+ getStartHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
120
131
  /**
121
- * Gets leaf columns pinned to the left region in pinning-state order.
132
+ * Gets leaf columns pinned to the logical start region in pinning-state order.
122
133
  */
123
- getLeftLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
134
+ getStartLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
124
135
  /**
125
- * Builds leaf headers for left-pinned columns.
136
+ * Builds leaf headers for logical start-pinned columns.
126
137
  */
127
- getLeftLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
138
+ getStartLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
128
139
  /**
129
- * Lists visible leaf columns in the left pinned region.
140
+ * Lists visible leaf columns in the logical start pinned region.
130
141
  */
131
- getLeftVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
142
+ getStartVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
132
143
  /**
133
- * Builds flat right-region headers for pinned columns, including parent
144
+ * Builds flat logical end-region headers for pinned columns, including parent
134
145
  * headers.
135
146
  */
136
- getRightFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
147
+ getEndFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
137
148
  /**
138
- * Builds footer groups for right-pinned columns.
149
+ * Builds footer groups for logical end-pinned columns.
139
150
  */
140
- getRightFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
151
+ getEndFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
141
152
  /**
142
- * Builds header groups for right-pinned columns.
153
+ * Builds header groups for logical end-pinned columns.
143
154
  */
144
- getRightHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
155
+ getEndHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
145
156
  /**
146
- * Gets leaf columns pinned to the right region in pinning-state order.
157
+ * Gets leaf columns pinned to the logical end region in pinning-state order.
147
158
  */
148
- getRightLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
159
+ getEndLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
149
160
  /**
150
- * Builds leaf headers for right-pinned columns.
161
+ * Builds leaf headers for logical end-pinned columns.
151
162
  */
152
- getRightLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
163
+ getEndLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
153
164
  /**
154
- * Lists visible leaf columns in the right pinned region.
165
+ * Lists visible leaf columns in the logical end pinned region.
155
166
  */
156
- getRightVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
167
+ getEndVisibleLeafColumns: () => Array<Column<TFeatures, TData, unknown>>;
157
168
  /**
158
169
  * Resets `columnPinning` to `initialState.columnPinning`.
159
170
  *
160
- * Pass `true` to ignore initial state and reset to empty left/right arrays.
171
+ * Pass `true` to ignore initial state and reset to empty start/end arrays.
161
172
  */
162
173
  resetColumnPinning: (defaultState?: boolean) => void;
163
174
  /**