@multiplatform.one/table 7.7.4 → 7.7.6

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.
@@ -77,6 +77,11 @@ function DataTablePagination(props) {
77
77
  compact
78
78
  });
79
79
  const isMobile = !sm;
80
+ const [availableWidth, setAvailableWidth] = (0, import_react.useState)();
81
+ const measureWidth = event => {
82
+ const width = event.nativeEvent.layout.width;
83
+ if (width > 0) setAvailableWidth(previous => previous === width ? previous : width);
84
+ };
80
85
  (0, import_theme.ensureCompositeFocusRing)();
81
86
  const handlePageSizeChange = newPageSize => {
82
87
  if (!Number.isFinite(newPageSize) || newPageSize <= 0) return;
@@ -100,6 +105,13 @@ function DataTablePagination(props) {
100
105
  const totalCount = pagination.totalCount || 0;
101
106
  const startItem = totalCount === 0 ? 0 : pagination.pageIndex * pagination.pageSize + 1;
102
107
  const endItem = Math.min((pagination.pageIndex + 1) * pagination.pageSize, totalCount);
108
+ const pageControls = (0, import_components.getPaginationItems)(totalPages, currentPage).length + 2 + (!compact && !isMobile ? 2 : 0);
109
+ const controlBudget = Math.max(import_theme.MIN_PRESS_TARGET, knobProps.control.height + knobProps.control.paddingHorizontal * 2);
110
+ const gapPixels = Number((0, import_tamagui.getTokenValue)(knobProps.gap.gap, "space"));
111
+ const paddingPixels = Number((0, import_tamagui.getTokenValue)(knobProps.panelPadding.padding, "space"));
112
+ const measuredBudget = pageControls * controlBudget + Math.max(0, pageControls - 1) * gapPixels + paddingPixels * 2;
113
+ const numberedBudget = Number.isFinite(measuredBudget) ? measuredBudget : Infinity;
114
+ const simplePager = availableWidth === void 0 || availableWidth < numberedBudget;
103
115
  const sizeOptions = (0, import_react.useMemo)(() => {
104
116
  const sizes = new Set(pageSizeOptions.filter(n => Number.isFinite(n) && n > 0));
105
117
  if (pagination.pageSize > 0) sizes.add(pagination.pageSize);
@@ -107,7 +119,7 @@ function DataTablePagination(props) {
107
119
  }, [pageSizeOptions, pagination.pageSize]);
108
120
  const showSize = showPageSizeSelector;
109
121
  const showRange = showInfo && !(compact && insideTable);
110
- const showJump = showPageJump && showPager && !compact && !isMobile;
122
+ const showJump = showPageJump && showPager && !compact && !isMobile && !simplePager;
111
123
  const [jumpNonce, setJumpNonce] = (0, import_react.useState)(0);
112
124
  const commitJump = (pageNumber, revertInvalid = false) => {
113
125
  const page = Number.parseInt(pageNumber, 10) - 1;
@@ -155,11 +167,11 @@ function DataTablePagination(props) {
155
167
  })]
156
168
  }) : null;
157
169
  const pager = showPager ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Pagination, {
158
- variant: "numbered",
170
+ variant: simplePager ? "simple" : "numbered",
159
171
  total: totalPages,
160
172
  page: currentPage,
161
173
  onPageChange: page => handlePageChange(page - 1),
162
- showFirstLast: !compact && !isMobile,
174
+ showFirstLast: !simplePager && !compact && !isMobile,
163
175
  "aria-label": "Page"
164
176
  }) : null;
165
177
  const jumpControl = showJump ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
@@ -214,6 +226,12 @@ function DataTablePagination(props) {
214
226
  return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
215
227
  role: "group",
216
228
  "aria-label": "Table pagination",
229
+ onLayout: measureWidth,
230
+ minWidth: 0,
231
+ maxWidth: "100%",
232
+ flexGrow: 1,
233
+ flexShrink: 1,
234
+ flexWrap: "wrap",
217
235
  alignItems: "center",
218
236
  overflow: "visible",
219
237
  ...knobProps.gap,
@@ -228,6 +246,8 @@ function DataTablePagination(props) {
228
246
  (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
229
247
  role: "group",
230
248
  "aria-label": "Table pagination",
249
+ onLayout: measureWidth,
250
+ minWidth: 0,
231
251
  alignItems: "center",
232
252
  overflow: "visible",
233
253
  ...knobProps.gapLg,
@@ -82,6 +82,13 @@ function DataTablePagination(props) {
82
82
  compact
83
83
  });
84
84
  var isMobile = !sm;
85
+ var [availableWidth, setAvailableWidth] = (0, import_react.useState)();
86
+ var measureWidth = function measureWidth2(event) {
87
+ var width = event.nativeEvent.layout.width;
88
+ if (width > 0) setAvailableWidth(function (previous) {
89
+ return previous === width ? previous : width;
90
+ });
91
+ };
85
92
  (0, import_theme.ensureCompositeFocusRing)();
86
93
  var handlePageSizeChange = function handlePageSizeChange2(newPageSize) {
87
94
  if (!Number.isFinite(newPageSize) || newPageSize <= 0) return;
@@ -105,6 +112,13 @@ function DataTablePagination(props) {
105
112
  var totalCount = pagination.totalCount || 0;
106
113
  var startItem = totalCount === 0 ? 0 : pagination.pageIndex * pagination.pageSize + 1;
107
114
  var endItem = Math.min((pagination.pageIndex + 1) * pagination.pageSize, totalCount);
115
+ var pageControls = (0, import_components.getPaginationItems)(totalPages, currentPage).length + 2 + (!compact && !isMobile ? 2 : 0);
116
+ var controlBudget = Math.max(import_theme.MIN_PRESS_TARGET, knobProps.control.height + knobProps.control.paddingHorizontal * 2);
117
+ var gapPixels = Number((0, import_tamagui.getTokenValue)(knobProps.gap.gap, "space"));
118
+ var paddingPixels = Number((0, import_tamagui.getTokenValue)(knobProps.panelPadding.padding, "space"));
119
+ var measuredBudget = pageControls * controlBudget + Math.max(0, pageControls - 1) * gapPixels + paddingPixels * 2;
120
+ var numberedBudget = Number.isFinite(measuredBudget) ? measuredBudget : Infinity;
121
+ var simplePager = availableWidth === void 0 || availableWidth < numberedBudget;
108
122
  var sizeOptions = (0, import_react.useMemo)(function () {
109
123
  var sizes = new Set(pageSizeOptions.filter(function (n) {
110
124
  return Number.isFinite(n) && n > 0;
@@ -116,7 +130,7 @@ function DataTablePagination(props) {
116
130
  }, [pageSizeOptions, pagination.pageSize]);
117
131
  var showSize = showPageSizeSelector;
118
132
  var showRange = showInfo && !(compact && insideTable);
119
- var showJump = showPageJump && showPager && !compact && !isMobile;
133
+ var showJump = showPageJump && showPager && !compact && !isMobile && !simplePager;
120
134
  var [jumpNonce, setJumpNonce] = (0, import_react.useState)(0);
121
135
  var commitJump = function commitJump2(pageNumber) {
122
136
  var revertInvalid = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
@@ -171,13 +185,13 @@ function DataTablePagination(props) {
171
185
  })]
172
186
  }) : null;
173
187
  var pager = showPager ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Pagination, {
174
- variant: "numbered",
188
+ variant: simplePager ? "simple" : "numbered",
175
189
  total: totalPages,
176
190
  page: currentPage,
177
191
  onPageChange: function onPageChange(page) {
178
192
  return handlePageChange(page - 1);
179
193
  },
180
- showFirstLast: !compact && !isMobile,
194
+ showFirstLast: !simplePager && !compact && !isMobile,
181
195
  "aria-label": "Page"
182
196
  }) : null;
183
197
  var jumpControl = showJump ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
@@ -232,6 +246,12 @@ function DataTablePagination(props) {
232
246
  return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
233
247
  role: "group",
234
248
  "aria-label": "Table pagination",
249
+ onLayout: measureWidth,
250
+ minWidth: 0,
251
+ maxWidth: "100%",
252
+ flexGrow: 1,
253
+ flexShrink: 1,
254
+ flexWrap: "wrap",
235
255
  alignItems: "center",
236
256
  overflow: "visible",
237
257
  ...knobProps.gap,
@@ -246,6 +266,8 @@ function DataTablePagination(props) {
246
266
  (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
247
267
  role: "group",
248
268
  "aria-label": "Table pagination",
269
+ onLayout: measureWidth,
270
+ minWidth: 0,
249
271
  alignItems: "center",
250
272
  overflow: "visible",
251
273
  ...knobProps.gapLg,
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","DataTablePagination_exports","__export","DataTablePagination","module","exports","import_jsx_runtime","require","import_theme","import_components","import_react","import_forms","import_tamagui","import_paginationDefaults","import_withInterp","import_DataTableStateContext","controlWidth","chars","chrome","Math","max","formatRange","start","end","total","props","_props_pagination","_props_onPaginationChange","ctx","useDataTableState","insideTable","Boolean","pagination","pageIndex","state","pageSize","totalPages","computed","totalCount","totalRows","hasPreviousPage","hasNextPage","DEFAULT_PAGE_SIZE","onPaginationChange","p","actions","setPagination","pageSizeOptions","DEFAULT_PAGE_SIZE_OPTIONS","showInfo","showPageSizeSelector","showPageJump","showPagerWhenSinglePage","compact","sm","useMedia","knobProps","useResolvedKnobs","isMobile","ensureCompositeFocusRing","handlePageSizeChange","handlePageSizeChange2","newPageSize","Number","isFinite","handlePageChange","handlePageChange2","newPageIndex","currentPage","showPager","startItem","endItem","min","sizeOptions","useMemo","sizes","Set","filter","n","add","sort","a","b","showSize","showRange","showJump","jumpNonce","setJumpNonce","useState","commitJump","commitJump2","pageNumber","revertInvalid","arguments","length","page","parseInt","isNaN","helperText","label","color","userSelect","sizeControl","jsxs","XStack","alignItems","gap","flexShrink","children","jsx","Text","View","width","map","String","overflow","Select","onChange","options","size","sizeToken","pager","Pagination","variant","onPageChange","showFirstLast","jumpControl","Input","defaultValue","inputProps","inputMode","autoComplete","style","textAlign","onKeyDown","e","key","target","placeholder","bidiIsolate","rangeControl","whiteSpace","packed","role"],"sources":["../../../../src/components/DataTablePagination/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","DataTablePagination_exports","__export","DataTablePagination","module","exports","import_jsx_runtime","require","import_theme","import_components","import_react","import_forms","import_tamagui","import_paginationDefaults","import_withInterp","import_DataTableStateContext","controlWidth","chars","chrome","Math","max","formatRange","start","end","total","props","_props_pagination","_props_onPaginationChange","ctx","useDataTableState","insideTable","Boolean","pagination","pageIndex","state","pageSize","totalPages","computed","totalCount","totalRows","hasPreviousPage","hasNextPage","DEFAULT_PAGE_SIZE","onPaginationChange","p","actions","setPagination","pageSizeOptions","DEFAULT_PAGE_SIZE_OPTIONS","showInfo","showPageSizeSelector","showPageJump","showPagerWhenSinglePage","compact","sm","useMedia","knobProps","useResolvedKnobs","isMobile","availableWidth","setAvailableWidth","useState","measureWidth","measureWidth2","event","width","nativeEvent","layout","previous","ensureCompositeFocusRing","handlePageSizeChange","handlePageSizeChange2","newPageSize","Number","isFinite","handlePageChange","handlePageChange2","newPageIndex","currentPage","showPager","startItem","endItem","min","pageControls","getPaginationItems","length","controlBudget","MIN_PRESS_TARGET","control","height","paddingHorizontal","gapPixels","getTokenValue","gap","paddingPixels","panelPadding","padding","measuredBudget","numberedBudget","Infinity","simplePager","sizeOptions","useMemo","sizes","Set","filter","n","add","sort","a","b","showSize","showRange","showJump","jumpNonce","setJumpNonce","commitJump","commitJump2","pageNumber","revertInvalid","arguments","page","parseInt","isNaN","helperText","label","color","userSelect","sizeControl","jsxs","XStack","alignItems","flexShrink","children","jsx","Text","View","map","String","overflow","Select","onChange","options","size","sizeToken","pager","Pagination","variant","onPageChange","showFirstLast","jumpControl","Input","defaultValue","inputProps","inputMode","autoComplete","style","textAlign","onKeyDown","e","key","target","placeholder","bidiIsolate","rangeControl","whiteSpace","packed","role","onLayout","minWidth","maxWidth","flexGrow","flexWrap","gapLg","rowGap"],"sources":["../../../../src/components/DataTablePagination/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
- import { ensureCompositeFocusRing, useResolvedKnobs } from "@multiplatform.one/theme";
2
- import { Pagination } from "@multiplatform.one/components";
1
+ import { ensureCompositeFocusRing, MIN_PRESS_TARGET, useResolvedKnobs } from "@multiplatform.one/theme";
2
+ import { Pagination, getPaginationItems } from "@multiplatform.one/components";
3
3
  import { useMemo, useState } from "react";
4
4
  import { Input, Select } from "@multiplatform.one/forms";
5
- import { Text, View, XStack, useMedia } from "tamagui";
5
+ import { Text, View, XStack, getTokenValue, useMedia } from "tamagui";
6
6
  import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS } from "../../utils/paginationDefaults.mjs";
7
7
  import { bidiIsolate } from "../../utils/withInterp.mjs";
8
8
  import { useDataTableState } from "../DataTable/DataTableStateContext.mjs";
@@ -50,6 +50,11 @@ function DataTablePagination(props) {
50
50
  compact
51
51
  });
52
52
  const isMobile = !sm;
53
+ const [availableWidth, setAvailableWidth] = useState();
54
+ const measureWidth = event => {
55
+ const width = event.nativeEvent.layout.width;
56
+ if (width > 0) setAvailableWidth(previous => previous === width ? previous : width);
57
+ };
53
58
  ensureCompositeFocusRing();
54
59
  const handlePageSizeChange = newPageSize => {
55
60
  if (!Number.isFinite(newPageSize) || newPageSize <= 0) return;
@@ -73,6 +78,13 @@ function DataTablePagination(props) {
73
78
  const totalCount = pagination.totalCount || 0;
74
79
  const startItem = totalCount === 0 ? 0 : pagination.pageIndex * pagination.pageSize + 1;
75
80
  const endItem = Math.min((pagination.pageIndex + 1) * pagination.pageSize, totalCount);
81
+ const pageControls = getPaginationItems(totalPages, currentPage).length + 2 + (!compact && !isMobile ? 2 : 0);
82
+ const controlBudget = Math.max(MIN_PRESS_TARGET, knobProps.control.height + knobProps.control.paddingHorizontal * 2);
83
+ const gapPixels = Number(getTokenValue(knobProps.gap.gap, "space"));
84
+ const paddingPixels = Number(getTokenValue(knobProps.panelPadding.padding, "space"));
85
+ const measuredBudget = pageControls * controlBudget + Math.max(0, pageControls - 1) * gapPixels + paddingPixels * 2;
86
+ const numberedBudget = Number.isFinite(measuredBudget) ? measuredBudget : Infinity;
87
+ const simplePager = availableWidth === void 0 || availableWidth < numberedBudget;
76
88
  const sizeOptions = useMemo(() => {
77
89
  const sizes = new Set(pageSizeOptions.filter(n => Number.isFinite(n) && n > 0));
78
90
  if (pagination.pageSize > 0) sizes.add(pagination.pageSize);
@@ -80,7 +92,7 @@ function DataTablePagination(props) {
80
92
  }, [pageSizeOptions, pagination.pageSize]);
81
93
  const showSize = showPageSizeSelector;
82
94
  const showRange = showInfo && !(compact && insideTable);
83
- const showJump = showPageJump && showPager && !compact && !isMobile;
95
+ const showJump = showPageJump && showPager && !compact && !isMobile && !simplePager;
84
96
  const [jumpNonce, setJumpNonce] = useState(0);
85
97
  const commitJump = (pageNumber, revertInvalid = false) => {
86
98
  const page = Number.parseInt(pageNumber, 10) - 1;
@@ -128,11 +140,11 @@ function DataTablePagination(props) {
128
140
  })]
129
141
  }) : null;
130
142
  const pager = showPager ? /* @__PURE__ */jsx(Pagination, {
131
- variant: "numbered",
143
+ variant: simplePager ? "simple" : "numbered",
132
144
  total: totalPages,
133
145
  page: currentPage,
134
146
  onPageChange: page => handlePageChange(page - 1),
135
- showFirstLast: !compact && !isMobile,
147
+ showFirstLast: !simplePager && !compact && !isMobile,
136
148
  "aria-label": "Page"
137
149
  }) : null;
138
150
  const jumpControl = showJump ? /* @__PURE__ */jsxs(XStack, {
@@ -187,6 +199,12 @@ function DataTablePagination(props) {
187
199
  return /* @__PURE__ */jsxs(XStack, {
188
200
  role: "group",
189
201
  "aria-label": "Table pagination",
202
+ onLayout: measureWidth,
203
+ minWidth: 0,
204
+ maxWidth: "100%",
205
+ flexGrow: 1,
206
+ flexShrink: 1,
207
+ flexWrap: "wrap",
190
208
  alignItems: "center",
191
209
  overflow: "visible",
192
210
  ...knobProps.gap,
@@ -201,6 +219,8 @@ function DataTablePagination(props) {
201
219
  jsxs(XStack, {
202
220
  role: "group",
203
221
  "aria-label": "Table pagination",
222
+ onLayout: measureWidth,
223
+ minWidth: 0,
204
224
  alignItems: "center",
205
225
  overflow: "visible",
206
226
  ...knobProps.gapLg,
@@ -1 +1 @@
1
- {"version":3,"names":["ensureCompositeFocusRing","useResolvedKnobs","Pagination","useMemo","useState","Input","Select","Text","View","XStack","useMedia","DEFAULT_PAGE_SIZE","DEFAULT_PAGE_SIZE_OPTIONS","bidiIsolate","useDataTableState","jsx","jsxs","controlWidth","chars","chrome","Math","max","formatRange","start","end","total","DataTablePagination","props","ctx","insideTable","Boolean","pagination","pageIndex","state","pageSize","totalPages","computed","totalCount","totalRows","hasPreviousPage","hasNextPage","onPaginationChange","p","actions","setPagination","pageSizeOptions","showInfo","showPageSizeSelector","showPageJump","showPagerWhenSinglePage","compact","sm","knobProps","isMobile","handlePageSizeChange","newPageSize","Number","isFinite","handlePageChange","newPageIndex","currentPage","showPager","startItem","endItem","min","sizeOptions","sizes","Set","filter","n","add","sort","a","b","showSize","showRange","showJump","jumpNonce","setJumpNonce","commitJump","pageNumber","revertInvalid","page","parseInt","isNaN","helperText","label","color","userSelect","sizeControl","alignItems","gap","flexShrink","children","width","map","String","length","overflow","value","onChange","options","size","sizeToken","pager","variant","onPageChange","showFirstLast","jumpControl","defaultValue","inputProps","inputMode","autoComplete","style","textAlign","onKeyDown","e","key","target","placeholder","rangeControl","whiteSpace","packed","role","gapLg","rowGap","flexWrap","paddingHorizontal","panelPadding","padding","paddingVertical","flexGrow","flexBasis","justifyContent"],"sources":["../../../../src/components/DataTablePagination/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ensureCompositeFocusRing","MIN_PRESS_TARGET","useResolvedKnobs","Pagination","getPaginationItems","useMemo","useState","Input","Select","Text","View","XStack","getTokenValue","useMedia","DEFAULT_PAGE_SIZE","DEFAULT_PAGE_SIZE_OPTIONS","bidiIsolate","useDataTableState","jsx","jsxs","controlWidth","chars","chrome","Math","max","formatRange","start","end","total","DataTablePagination","props","ctx","insideTable","Boolean","pagination","pageIndex","state","pageSize","totalPages","computed","totalCount","totalRows","hasPreviousPage","hasNextPage","onPaginationChange","p","actions","setPagination","pageSizeOptions","showInfo","showPageSizeSelector","showPageJump","showPagerWhenSinglePage","compact","sm","knobProps","isMobile","availableWidth","setAvailableWidth","measureWidth","event","width","nativeEvent","layout","previous","handlePageSizeChange","newPageSize","Number","isFinite","handlePageChange","newPageIndex","currentPage","showPager","startItem","endItem","min","pageControls","length","controlBudget","control","height","paddingHorizontal","gapPixels","gap","paddingPixels","panelPadding","padding","measuredBudget","numberedBudget","Infinity","simplePager","sizeOptions","sizes","Set","filter","n","add","sort","a","b","showSize","showRange","showJump","jumpNonce","setJumpNonce","commitJump","pageNumber","revertInvalid","page","parseInt","isNaN","helperText","label","color","userSelect","sizeControl","alignItems","flexShrink","children","map","String","overflow","value","onChange","options","size","sizeToken","pager","variant","onPageChange","showFirstLast","jumpControl","defaultValue","inputProps","inputMode","autoComplete","style","textAlign","onKeyDown","e","key","target","placeholder","rangeControl","whiteSpace","packed","role","onLayout","minWidth","maxWidth","flexGrow","flexWrap","gapLg","rowGap","paddingVertical","flexBasis","justifyContent"],"sources":["../../../../src/components/DataTablePagination/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ensureCompositeFocusRing, useResolvedKnobs } from "@multiplatform.one/theme";
3
- import { Pagination } from "@multiplatform.one/components";
2
+ import { ensureCompositeFocusRing, MIN_PRESS_TARGET, useResolvedKnobs } from "@multiplatform.one/theme";
3
+ import { Pagination, getPaginationItems } from "@multiplatform.one/components";
4
4
  import { useMemo, useState } from "react";
5
5
  import { Input, Select } from "@multiplatform.one/forms";
6
- import { Text, View, XStack, useMedia } from "tamagui";
6
+ import { Text, View, XStack, getTokenValue, useMedia } from "tamagui";
7
7
  import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS } from "../../utils/paginationDefaults.native.js";
8
8
  import { bidiIsolate } from "../../utils/withInterp.native.js";
9
9
  import { useDataTableState } from "../DataTable/DataTableStateContext.native.js";
@@ -53,6 +53,13 @@ function DataTablePagination(props) {
53
53
  compact
54
54
  });
55
55
  var isMobile = !sm;
56
+ var [availableWidth, setAvailableWidth] = useState();
57
+ var measureWidth = function measureWidth2(event) {
58
+ var width = event.nativeEvent.layout.width;
59
+ if (width > 0) setAvailableWidth(function (previous) {
60
+ return previous === width ? previous : width;
61
+ });
62
+ };
56
63
  ensureCompositeFocusRing();
57
64
  var handlePageSizeChange = function handlePageSizeChange2(newPageSize) {
58
65
  if (!Number.isFinite(newPageSize) || newPageSize <= 0) return;
@@ -76,6 +83,13 @@ function DataTablePagination(props) {
76
83
  var totalCount = pagination.totalCount || 0;
77
84
  var startItem = totalCount === 0 ? 0 : pagination.pageIndex * pagination.pageSize + 1;
78
85
  var endItem = Math.min((pagination.pageIndex + 1) * pagination.pageSize, totalCount);
86
+ var pageControls = getPaginationItems(totalPages, currentPage).length + 2 + (!compact && !isMobile ? 2 : 0);
87
+ var controlBudget = Math.max(MIN_PRESS_TARGET, knobProps.control.height + knobProps.control.paddingHorizontal * 2);
88
+ var gapPixels = Number(getTokenValue(knobProps.gap.gap, "space"));
89
+ var paddingPixels = Number(getTokenValue(knobProps.panelPadding.padding, "space"));
90
+ var measuredBudget = pageControls * controlBudget + Math.max(0, pageControls - 1) * gapPixels + paddingPixels * 2;
91
+ var numberedBudget = Number.isFinite(measuredBudget) ? measuredBudget : Infinity;
92
+ var simplePager = availableWidth === void 0 || availableWidth < numberedBudget;
79
93
  var sizeOptions = useMemo(function () {
80
94
  var sizes = new Set(pageSizeOptions.filter(function (n) {
81
95
  return Number.isFinite(n) && n > 0;
@@ -87,7 +101,7 @@ function DataTablePagination(props) {
87
101
  }, [pageSizeOptions, pagination.pageSize]);
88
102
  var showSize = showPageSizeSelector;
89
103
  var showRange = showInfo && !(compact && insideTable);
90
- var showJump = showPageJump && showPager && !compact && !isMobile;
104
+ var showJump = showPageJump && showPager && !compact && !isMobile && !simplePager;
91
105
  var [jumpNonce, setJumpNonce] = useState(0);
92
106
  var commitJump = function commitJump2(pageNumber) {
93
107
  var revertInvalid = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
@@ -142,13 +156,13 @@ function DataTablePagination(props) {
142
156
  })]
143
157
  }) : null;
144
158
  var pager = showPager ? /* @__PURE__ */_jsx(Pagination, {
145
- variant: "numbered",
159
+ variant: simplePager ? "simple" : "numbered",
146
160
  total: totalPages,
147
161
  page: currentPage,
148
162
  onPageChange: function onPageChange(page) {
149
163
  return handlePageChange(page - 1);
150
164
  },
151
- showFirstLast: !compact && !isMobile,
165
+ showFirstLast: !simplePager && !compact && !isMobile,
152
166
  "aria-label": "Page"
153
167
  }) : null;
154
168
  var jumpControl = showJump ? /* @__PURE__ */_jsxs(XStack, {
@@ -203,6 +217,12 @@ function DataTablePagination(props) {
203
217
  return /* @__PURE__ */_jsxs(XStack, {
204
218
  role: "group",
205
219
  "aria-label": "Table pagination",
220
+ onLayout: measureWidth,
221
+ minWidth: 0,
222
+ maxWidth: "100%",
223
+ flexGrow: 1,
224
+ flexShrink: 1,
225
+ flexWrap: "wrap",
206
226
  alignItems: "center",
207
227
  overflow: "visible",
208
228
  ...knobProps.gap,
@@ -217,6 +237,8 @@ function DataTablePagination(props) {
217
237
  _jsxs(XStack, {
218
238
  role: "group",
219
239
  "aria-label": "Table pagination",
240
+ onLayout: measureWidth,
241
+ minWidth: 0,
220
242
  alignItems: "center",
221
243
  overflow: "visible",
222
244
  ...knobProps.gapLg,
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","ensureCompositeFocusRing","useResolvedKnobs","Pagination","useMemo","useState","Input","Select","Text","View","XStack","useMedia","DEFAULT_PAGE_SIZE","DEFAULT_PAGE_SIZE_OPTIONS","bidiIsolate","useDataTableState","controlWidth","chars","chrome","Math","max","formatRange","start","end","total","DataTablePagination","props","_props_pagination","_props_onPaginationChange","ctx","insideTable","Boolean","pagination","pageIndex","state","pageSize","totalPages","computed","totalCount","totalRows","hasPreviousPage","hasNextPage","onPaginationChange","p","actions","setPagination","pageSizeOptions","showInfo","showPageSizeSelector","showPageJump","showPagerWhenSinglePage","compact","sm","knobProps","isMobile","handlePageSizeChange","handlePageSizeChange2","newPageSize","Number","isFinite","handlePageChange","handlePageChange2","newPageIndex","currentPage","showPager","startItem","endItem","min","sizeOptions","sizes","Set","filter","n","add","sort","a","b","showSize","showRange","showJump","jumpNonce","setJumpNonce","commitJump","commitJump2","pageNumber","revertInvalid","arguments","length","page","parseInt","isNaN","helperText","label","color","userSelect","sizeControl","alignItems","gap","flexShrink","children","width","map","String","overflow","value","onChange","options","size","sizeToken","pager","variant","onPageChange","showFirstLast","jumpControl","defaultValue","inputProps","inputMode","autoComplete","style","textAlign","onKeyDown","e","key","target","placeholder","rangeControl","whiteSpace","packed","role"],"sources":["../../../../src/components/DataTablePagination/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","ensureCompositeFocusRing","MIN_PRESS_TARGET","useResolvedKnobs","Pagination","getPaginationItems","useMemo","useState","Input","Select","Text","View","XStack","getTokenValue","useMedia","DEFAULT_PAGE_SIZE","DEFAULT_PAGE_SIZE_OPTIONS","bidiIsolate","useDataTableState","controlWidth","chars","chrome","Math","max","formatRange","start","end","total","DataTablePagination","props","_props_pagination","_props_onPaginationChange","ctx","insideTable","Boolean","pagination","pageIndex","state","pageSize","totalPages","computed","totalCount","totalRows","hasPreviousPage","hasNextPage","onPaginationChange","p","actions","setPagination","pageSizeOptions","showInfo","showPageSizeSelector","showPageJump","showPagerWhenSinglePage","compact","sm","knobProps","isMobile","availableWidth","setAvailableWidth","measureWidth","measureWidth2","event","width","nativeEvent","layout","previous","handlePageSizeChange","handlePageSizeChange2","newPageSize","Number","isFinite","handlePageChange","handlePageChange2","newPageIndex","currentPage","showPager","startItem","endItem","min","pageControls","length","controlBudget","control","height","paddingHorizontal","gapPixels","gap","paddingPixels","panelPadding","padding","measuredBudget","numberedBudget","Infinity","simplePager","sizeOptions","sizes","Set","filter","n","add","sort","a","b","showSize","showRange","showJump","jumpNonce","setJumpNonce","commitJump","commitJump2","pageNumber","revertInvalid","arguments","page","parseInt","isNaN","helperText","label","color","userSelect","sizeControl","alignItems","flexShrink","children","map","String","overflow","value","onChange","options","size","sizeToken","pager","variant","onPageChange","showFirstLast","jumpControl","defaultValue","inputProps","inputMode","autoComplete","style","textAlign","onKeyDown","e","key","target","placeholder","rangeControl","whiteSpace","packed","role","onLayout","minWidth","maxWidth","flexGrow","flexWrap","gapLg","rowGap","paddingVertical"],"sources":["../../../../src/components/DataTablePagination/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAAA,SACEC,wBAAA,EAAAC,gBAAA,EAAAC,gBAAA;AAAA,SACAC,UAAA,EAAAC,kBAAA;AAAA,SACAC,OAAA,EAAAC,QAAA;AAAA,SACKC,KAAA,EAAAC,MAAA;AACP,SAASC,IAAA,EAAAC,IAAA,EAAYC,MAAA,EAAAC,aAAA,EAAAC,QAA0B;AAC/C,SAASC,iBAAS,EAAAC,yBAAgB;AAElC,SAASC,WAAO,0CAAc;AAC9B,SAASC,iBAAY,QAAQ,8CAA+B;AAE5D,SAASC,aAAAC,KAAA,EAAmBC,MAAA;EAC5B,OAASC,IAAA,CAAAC,GAAA,KAAAH,KAAA,GAAmB,KAAAC,MAAA;AAC5B;AAgKI,SACEG,WADFA,CAAAC,KAAA,EAAAC,GAAA,EAAAC,KAAA;EA/IJ,IAAAA,KAAS,eAAa,gBAA+B;EACnD,OAAO,GAAAF,KAAK,SAAQC,GAAA,OAAaC,KAAM;AACzC;AAEA,SAASC,mBAA2BA,CAAAC,KAAa;EAC/C,IAAIC,iBAAa,EAAAC,yBAAO;EACxB,IAAAC,GAAO,GAAGd,iBAAY;EACxB,IAAAe,WAAA,GAAAC,OAAA,CAAAF,GAAA;EAaO,IAAAG,UAAS,IAAAL,iBAAqD,GAAAD,KAAA,CAAAM,UAAA,cAAAL,iBAAA,cAAAA,iBAAA,GAAAE,GAAA;IACnEI,SAAM,EAAMJ,GAAA,CAAAK,KAAA,CAAAF,UAAkB,CAAAC,SAAA;IAC9BE,QAAM,EAAAN,GAAA,CAAAK,KAAc,CAAAF,UAAW,CAAAG,QAAA;IAE/BC,UAAM,EAAAP,GAAA,CAAAQ,QACE,CAAAD,UAAA;IAGAE,UAAA,EAAWT,GAAI,CAAAQ,QAAM,CAAAE,SAAW;IAChCC,eAAc,EAAAX,GAAM,CAAAK,KAAA,CAAAF,UAAW,CAAAC,SAAA;IAC/BQ,WAAA,EAAYZ,GAAI,CAAAK,KAAA,CAAAF,UAAS,CAAAC,SAAA,GAAAJ,GAAA,CAAAQ,QAAA,CAAAD,UAAA;EAAA,IACzB;IACAH,SAAA;IACAE,QAAA,EAAAvB,iBAAuB;IACzBwB,UACA;IACEE,UAAA,EAAW;IACXE,eAAU;IACVC,WAAA,EAAY;EAAA;EACA,IACZC,kBAAiB,IAAAd,yBAAA,GAAAF,KAAA,CAAAgB,kBAAA,cAAAd,yBAAA,cAAAA,yBAAA,GAAAC,GAAA,aAAAc,CAAA;IACjB,OAAAd,GAAA,CAAAe,OAAa,CAAAC,aAAA,CAAAF,CAAA;EACf,iBAEN;EAEuE;IAAAG,eAAA,IAEvE,GAAAjC,yBAAM;IACJkC,QAAA;IAAkBC,oBAAI;IAAyBC,YAAA;IAAAC,uBAAA;IAAAC;EAAA,IAAAzB,KAAA;EAAA,IAC/C;IAAA0B;EAAA,IAAWzC,QAAA;EAAA,IACX;IAAA0C;EAAA,IAAArD,gBAAuB,CAAAmD,OAAA;IACvBA;EAAe,EACf;EAA0B,IAC1BG,QAAA,IAAAF,EAAA;EACF,IAAI,CAAAG,cAAA,EAAAC,iBAAA,IAAApD,QAAA;EAEJ,IAAAqD,YAAe,YAASC,cAAAC,KAAA;IACxB,IAAMC,KAAE,GAAAD,KAAU,CAAAE,WAAI,CAAAC,MAAA,CAAiBF,KAAA;IACvC,IAAMA,KAAA,MAAWJ,iBAAC,WAAAO,QAAA;MAClB,OAAOA,QAAA,KAAgBH,KAAA,GAAAG,QAAiB,GAAAH,KAAI;IAC5C;EACE;EACA9D,wBAAe;EACjB,IAAAkE,oBAAA,YAAAC,sBAAAC,WAAA;IAEA,KAAAC,MAAA,CAAAC,QAAA,CAAAF,WAAyB,KAAAA,WAAA;IAEzB,IAAMA,WAAA,KAAAlC,UAAwB,CAAAG,QAAA,IAAAH,UAAwB,CAAAC,SAAA;IACpDS,kBAAY;MACZT,SAAI;MACJE,QAAA,EAAA+B;IAAmB,EACjB;EAAW;EACD,IACXG,gBAAA,YAAAC,kBAAAC,YAAA;IACH,IAAAA,YAAA,SAAAA,YAAA,IAAAvC,UAAA,CAAAI,UAAA;MAEAM,kBAAM;QACAT,SAAA,EAAAsC,YAAqB;QACvBpC,QAAA,EAAAH,UAAmB,CAAAG;MAAA,EACjB;IAAW;EACU;EACtB,IACHqC,WAAA,GAAAxC,UAAA,CAAAC,SAAA;EACF,IAAAG,UAAA,GAAAJ,UAAA,CAAAI,UAAA;EAEA,IAAAqC,SAAM,GAAArC,UAAc,QAAWc,uBAAY;EAC3C,IAAAZ,UAAM,GAAAN,UAAa,CAAAM,UAAW;EAC9B,IAAAoC,SAAM,GAAApC,UAAY,KAAa,KAAK,GAAAN,UAAA,CAAAC,SAAA,GAAAD,UAAA,CAAAG,QAAA;EACpC,IAAAwC,OAAM,GAAAxD,IAAA,CAAayD,GAAA,EAAA5C,UAAW,CAAAC,SAAc,QAAAD,UAAA,CAAAG,QAAA,EAAAG,UAAA;EAC5C,IAAAuC,YAAM,GAAY3E,kBAAmB,CAAAkC,UAAI,EAAAoC,WAAW,EAAAM,MAAY,QAAW,CAAA3B,OAAA,IAAW,CAAAG,QAAA;EACtF,IAAAyB,aAAgB,GAAA5D,IAAK,CAAAC,GAAK,CAAArB,gBAAW,EAAAsD,SAAiB,CAAA2B,OAAA,CAAWC,MAAA,GAAA5B,SAAU,CAAA2B,OAAU,CAAAE,iBAAA;EAIrF,IAAAC,SAAM,GAAAhB,MACJ,CAAAzD,aAAA,CAAA2C,SAAmB,CAAA+B,GAAA,CAAAA,GAAY,SAAW,EAAE;EAC9C,IAAAC,aAAM,GAAAlB,MAAgB,CAAKzD,aAAA,CAAA2C,SAAA,CAAAiC,YAAA,CAAAC,OAAA;EAAA,IACzBC,cAAA,GAAAX,YAAA,GAAAE,aAAA,GAAA5D,IAAA,CAAAC,GAAA,IAAAyD,YAAA,QAAAM,SAAA,GAAAE,aAAA;EAAA,IACAI,cAAU,GAAQtB,MAAA,CAAAC,QAAS,CAAAoB,cAAkB,IAAAA,cAAoB,GAAAE,QAAA;EACnE,IAAAC,WAAA,GAAApC,cAAA,eAAAA,cAAA,GAAAkC,cAAA;EACA,IAAAG,WAAM,GAAYzF,OAAA;IAChB,IAAA0F,KAAA,OAAcC,GAAA,CAAAhD,eAA0D,CAAAiD,MAAO,WAAAC,CAAA;MACjF,OAAA7B,MAAA,CAAAC,QAAA,CAAA4B,CAAA,KAAAA,CAAA;IACA;IACE,IAAAhE,UAAc,CAAAG,QAAA,GAAU,GAAA0D,KAAA,CAAAI,GAAa,CAAAjE,UAAgD,CAAAG,QAAO;IAC9F,QACA,GAAM0D,KAAA,CAEN,CAAAK,IAAM,WAAAC,CAAA,EAAAC,CAAA,EAAiB;MACvB,OAAMD,CAAA,GAAAC,CAAA;IAEN;EACE,IACAtD,eAAe,EACfd,UAAQ,CAAGG,QAAO,CACpB;EAEA,IAAAkE,QAAM,GAAArD,oBAAW;EAEjB,IAAAsD,SAAM,GAAAvD,QAAY,MAAYI,OAAE,IAAArB,WAAW;EAC3C,IAAAyE,QAAM,GAAAtD,YAAW,IAAAwB,SAAgB,KAAAtB,OAAc,KAAAG,QAAY,KAAAqC,WAAa;EAExE,KAAAa,SAAO,EAAAC,YAAW,IAAYrG,QAAI,GAAS;EAE3C,IAAAsG,UAAM,YAAcC,WAAoBA,CAAAC,UAAgB;IACtD,IAAAC,aAAa,GAAOC,SAAS,CAAAhC,MAAA,QAAcgC,SAAI,iBAAAA,SAAA;IAC/C,IAAIC,IAAC,GAAA5C,MAAO,CAAM6C,QAAI,CAAKJ,UAAQ,IAAK;IACtC,KAAAzC,MAAI,CAAA8C,KAAS,CAAAF,IAAA,KAAWA,IAAA,KAAW,IAAAA,IAAA,GAAA3E,UAAiB,EAAI;MACxD,IAAA2E,IAAA,KAAA/E,UAAA,CAAAC,SAAA,EAAAoC,gBAAA,CAAA0C,IAAA;MACF;IACA;IACF,IAAAF,aAAA,EAAAJ,YAAA,WAAAT,CAAA;MAEI,OAACA,CAAA;IAEL;EAAmB;EACJ,IACb,CAAAvB,SAAO,KAAA4B,QAAA,KAAAC,SAAA;EAAA,IACPY,UAAY;IACd,GAAA7D,SAAA,CAAA8D,KAAA;IAEAC,KAAM;IAEFC,UAAA;EAAoC;EACpC,IAACC,WAAA,GAAAjB,QAAA,kBAAAxG,KAAA,CAAAY,MAAA;IAAA8G,UAAA;IAAAnC,GAAA,EACC;IAAgFoC,UAChF;IAASC,QACT,GAAY,eACL9H,IAAA,CAAAY,IAAA;MAEP,GAAA2G,UAAA;MAAAO,QAAC;IAAA,mBACQ9H,IAAO,CAAAa,IAAA;MAAmBoD,KACjC,EAAA5C,YAAW,CAAAG,IAAA,CAAUC,GAAA,OAAAwE,WAAA,CAAA8B,GAAA,WAAA1B,CAAA;QACnB,OAAA2B,MAAI,CAAA3B,CAAO,EAAAlB,MAAA;MACT;MAA+C8C,QACjD;MAAAJ,UACF;MAAA;QACoC,yBAChB;MAAA;MACAC,QAClB,iBAAA9H,IAAA,CAAAW,MAAA;QAAAuH,KACF,EAAAF,MAAA,CAAA3F,UAAW,CAAAG,QAAA;QAAA2F,QACL,WAAUA,SAAAD,KAAA;UAChB,WAAOA,KAAA;YAAA7D,oBAAA,CAAAG,MAAA,CAAA6C,QAAA,CAAAa,KAAA;UACT;QAAA;QACFE,OAAA,EAAAnC,WAAA,CAAA8B,GAAA,WAAAM,IAAA;UAEA;YAEEb,KAAQ,EAAAQ,MAAA,CACZK,IAAA;YAACH,KAAA,EAAAF,MAAA,CAAAK,IAAA;UAAA;QACC;QACA,YAAO;QACPA,IAAM,EAAA3E,SAAA,CAAA4E,SAAA;QACN9E,OAAA;MACA;IACA;EACF,KACE;EAEJ,IAAA+E,KAAM,GAAAzD,SAAc,kBAClB9E,IAAA,CAAAM,UAAC;IACCkI,OAAA,EAAAxC,WAAC,WAAS,aAAY;IACtBnE,KAAA,EAAAY,UAAA;IAAA2E,IAAC,EAAAvC,WAAA;IAAA4D,YAAA,WAAAA,aAAArB,IAAA;MAAA,OACC1C,gBAAoB,CAAA0C,IAAA,GAAO;IAAsB;IACxCsB,aACT,GAAY1C,WAAA,KAAAxC,OAAA,KAAAG,QAAA;IAAA,YACL;EAAkC,SAEzC;EAAA,IAAAgF,WAAC,GAAA/B,QAAA,kBAAA1G,KAAA,CAAAY,MAAA;IAAA8G,UAAA;IAAAnC,GAAA,MAEC;IAAgCoC,UAChC;IAAY,YACV,gBAAW;IAAAC,QAAA,EACX,CAAc,eACP9H,IAAE,CAAAY,IAAA;MAAoB,GAAA2G,UAC7B;MACEO,QAAA;IACE,IAAqD,eACvD9H,IAAA,CAAAa,IAAA;MAAAoD,KAAA,EACF5C,YAAA,CAAA2G,MAAA,CAAAvF,UAAA,EAAA0C,MAAA;MAAA8C,QACF;MAAAJ,UACA;MAA4B;QACjB,yBACK;MAAA;MACTC,QAAA,iBAAA9H,IAAA,CAAAU,KAAA;QAfFkI,YAAG,EAAWZ,MAAI,CAAAnD,WAAS;QAgBlCgE,UAAA;UAAAC,SAAA;UACFC,YAAA;UACAC,KAAA;YAAkCC,SAAA;UAC7B;UACLC,SAAA,WAAAA,UAAAC,CAAA;YAEA,IAAAA,CAAA,CAAAC,GAAA;cAEErC,UAAe,CAAAoC,CAAA,CAAAE,MACnB,CAAAnB,KAAA;YAKI;UAEF;QACF,CACE;QAACoB,WAAA,OAAA7G,UAAA;QAAA;QACC4F,IAAK,EAAA3E,SAAA,CAAA4E,SAAA;QACL9E,OAAA;MACA,MAAAqB,WAAU,IAAAgC,SAAA;IAAA,EACV,EAAU,eACD3G,KAAA,CAAAU,IAAA;MACT,GAAA2G,UAAU;MACV,aAAY;MACZO,QAAA,EAAS,CACT,MACA3G,WAAS,CAAA6G,MAAA,CAAAvF,UAAA;IACK,EAEb;EAAA,SACA;EAAA,IAAA8G,YAAA,GAAA5C,SAAA,kBAAA3G,IAAA,CAAAY,IAAA;IAAA,GAAA2G,UAAA;IACH;IAEJiC,UAAA;IAEA3B,UAAA;IAAAC,QAAA,EAAA3G,WAAA,CAAAO,WAAA,CAAAqD,SAAA,EAAAC,OAAA,EAAArC,UAAA;EAAA;EAAA,IAAA8G,MAAA,GAAAjG,OAAA,IAAArB,WAAA;EAAA,IAIEsH,MAAA;IAAA,OAAC,eAAAvJ,KAAA,CAAAY,MAAA;MAAA4I,IAAA;MAAA,YACM;MAAAC,QACL,EAAA7F,YAAW;MAAA8F,QACX;MAAUC,QACV,QAAU;MAAAC,QACV;MAAWjC,UACX,EAAS;MAAAkC,QACL,QAAU;MAAAnC,UACN,UAAU;MAAIK,QACtB,WAAS;MAAA,GACTvE,SAAM,CAAA+B,GAAA;MAAAqC,QACN,GACAH,WAAA,EAEAY,KAAA;IAEA;EAMI;EAGF;IAAC;IAAA;IACY;IACG;IACdrI,KAAU,CAAAY,MAAA;MAAA4I,IAAA,SACV;MAAW,YACX,oBAAY;MAAAC,QACZ,EAAA7F,YAAA;MAAe8F,QAEd;MAAAhC,UAAA;MAAAK,QAAA,EACA;MAAA,GAAAvE,SAAA,CAAAsG,KAAA;MAAAC,MAAA,EAAAvG,SAAA,CAAA+B,GAAA,CAAAA,GAAA;MAAAsE,QACH;MAAA9F,KAAA;MAAAsB,iBAAA,EAAA7B,SAAA,CAAAiC,YAAA,CAAAC,OAAA;MAEJsE,eAAA;MAAApC,QAAA,GAEJ,eAAA9H,IAAA,CAAAc,MAAA","ignoreList":[]}
@@ -1,8 +1,8 @@
1
- import { ensureCompositeFocusRing, useResolvedKnobs } from "@multiplatform.one/theme";
2
- import { Pagination } from "@multiplatform.one/components";
1
+ import { ensureCompositeFocusRing, MIN_PRESS_TARGET, useResolvedKnobs } from "@multiplatform.one/theme";
2
+ import { Pagination, getPaginationItems } from "@multiplatform.one/components";
3
3
  import { useMemo, useState } from "react";
4
4
  import { Input, Select } from "@multiplatform.one/forms";
5
- import { Text, View, XStack, useMedia } from "tamagui";
5
+ import { Text, View, XStack, getTokenValue, useMedia } from "tamagui";
6
6
  import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS } from "../../utils/paginationDefaults.mjs";
7
7
  import { bidiIsolate } from "../../utils/withInterp.mjs";
8
8
  import { useDataTableState } from "../DataTable/DataTableStateContext.mjs";
@@ -50,6 +50,11 @@ function DataTablePagination(props) {
50
50
  compact
51
51
  });
52
52
  const isMobile = !sm;
53
+ const [availableWidth, setAvailableWidth] = useState();
54
+ const measureWidth = event => {
55
+ const width = event.nativeEvent.layout.width;
56
+ if (width > 0) setAvailableWidth(previous => previous === width ? previous : width);
57
+ };
53
58
  ensureCompositeFocusRing();
54
59
  const handlePageSizeChange = newPageSize => {
55
60
  if (!Number.isFinite(newPageSize) || newPageSize <= 0) return;
@@ -73,6 +78,13 @@ function DataTablePagination(props) {
73
78
  const totalCount = pagination.totalCount || 0;
74
79
  const startItem = totalCount === 0 ? 0 : pagination.pageIndex * pagination.pageSize + 1;
75
80
  const endItem = Math.min((pagination.pageIndex + 1) * pagination.pageSize, totalCount);
81
+ const pageControls = getPaginationItems(totalPages, currentPage).length + 2 + (!compact && !isMobile ? 2 : 0);
82
+ const controlBudget = Math.max(MIN_PRESS_TARGET, knobProps.control.height + knobProps.control.paddingHorizontal * 2);
83
+ const gapPixels = Number(getTokenValue(knobProps.gap.gap, "space"));
84
+ const paddingPixels = Number(getTokenValue(knobProps.panelPadding.padding, "space"));
85
+ const measuredBudget = pageControls * controlBudget + Math.max(0, pageControls - 1) * gapPixels + paddingPixels * 2;
86
+ const numberedBudget = Number.isFinite(measuredBudget) ? measuredBudget : Infinity;
87
+ const simplePager = availableWidth === void 0 || availableWidth < numberedBudget;
76
88
  const sizeOptions = useMemo(() => {
77
89
  const sizes = new Set(pageSizeOptions.filter(n => Number.isFinite(n) && n > 0));
78
90
  if (pagination.pageSize > 0) sizes.add(pagination.pageSize);
@@ -80,7 +92,7 @@ function DataTablePagination(props) {
80
92
  }, [pageSizeOptions, pagination.pageSize]);
81
93
  const showSize = showPageSizeSelector;
82
94
  const showRange = showInfo && !(compact && insideTable);
83
- const showJump = showPageJump && showPager && !compact && !isMobile;
95
+ const showJump = showPageJump && showPager && !compact && !isMobile && !simplePager;
84
96
  const [jumpNonce, setJumpNonce] = useState(0);
85
97
  const commitJump = (pageNumber, revertInvalid = false) => {
86
98
  const page = Number.parseInt(pageNumber, 10) - 1;
@@ -128,11 +140,11 @@ function DataTablePagination(props) {
128
140
  })]
129
141
  }) : null;
130
142
  const pager = showPager ? /* @__PURE__ */jsx(Pagination, {
131
- variant: "numbered",
143
+ variant: simplePager ? "simple" : "numbered",
132
144
  total: totalPages,
133
145
  page: currentPage,
134
146
  onPageChange: page => handlePageChange(page - 1),
135
- showFirstLast: !compact && !isMobile,
147
+ showFirstLast: !simplePager && !compact && !isMobile,
136
148
  "aria-label": "Page"
137
149
  }) : null;
138
150
  const jumpControl = showJump ? /* @__PURE__ */jsxs(XStack, {
@@ -187,6 +199,12 @@ function DataTablePagination(props) {
187
199
  return /* @__PURE__ */jsxs(XStack, {
188
200
  role: "group",
189
201
  "aria-label": "Table pagination",
202
+ onLayout: measureWidth,
203
+ minWidth: 0,
204
+ maxWidth: "100%",
205
+ flexGrow: 1,
206
+ flexShrink: 1,
207
+ flexWrap: "wrap",
190
208
  alignItems: "center",
191
209
  overflow: "visible",
192
210
  ...knobProps.gap,
@@ -201,6 +219,8 @@ function DataTablePagination(props) {
201
219
  jsxs(XStack, {
202
220
  role: "group",
203
221
  "aria-label": "Table pagination",
222
+ onLayout: measureWidth,
223
+ minWidth: 0,
204
224
  alignItems: "center",
205
225
  overflow: "visible",
206
226
  ...knobProps.gapLg,
@@ -1 +1 @@
1
- {"version":3,"names":["ensureCompositeFocusRing","useResolvedKnobs","Pagination","useMemo","useState","Input","Select","Text","View","XStack","useMedia","DEFAULT_PAGE_SIZE","DEFAULT_PAGE_SIZE_OPTIONS","bidiIsolate","useDataTableState","jsx","jsxs","controlWidth","chars","chrome","Math","max","formatRange","start","end","total","DataTablePagination","props","ctx","insideTable","Boolean","pagination","pageIndex","state","pageSize","totalPages","computed","totalCount","totalRows","hasPreviousPage","hasNextPage","onPaginationChange","p","actions","setPagination","pageSizeOptions","showInfo","showPageSizeSelector","showPageJump","showPagerWhenSinglePage","compact","sm","knobProps","isMobile","handlePageSizeChange","newPageSize","Number","isFinite","handlePageChange","newPageIndex","currentPage","showPager","startItem","endItem","min","sizeOptions","sizes","Set","filter","n","add","sort","a","b","showSize","showRange","showJump","jumpNonce","setJumpNonce","commitJump","pageNumber","revertInvalid","page","parseInt","isNaN","helperText","label","color","userSelect","sizeControl","alignItems","gap","flexShrink","children","width","map","String","length","overflow","value","onChange","options","size","sizeToken","pager","variant","onPageChange","showFirstLast","jumpControl","defaultValue","inputProps","inputMode","autoComplete","style","textAlign","onKeyDown","e","key","target","placeholder","rangeControl","whiteSpace","packed","role","gapLg","rowGap","flexWrap","paddingHorizontal","panelPadding","padding","paddingVertical","flexGrow","flexBasis","justifyContent"],"sources":["../../../../src/components/DataTablePagination/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ensureCompositeFocusRing","MIN_PRESS_TARGET","useResolvedKnobs","Pagination","getPaginationItems","useMemo","useState","Input","Select","Text","View","XStack","getTokenValue","useMedia","DEFAULT_PAGE_SIZE","DEFAULT_PAGE_SIZE_OPTIONS","bidiIsolate","useDataTableState","jsx","jsxs","controlWidth","chars","chrome","Math","max","formatRange","start","end","total","DataTablePagination","props","ctx","insideTable","Boolean","pagination","pageIndex","state","pageSize","totalPages","computed","totalCount","totalRows","hasPreviousPage","hasNextPage","onPaginationChange","p","actions","setPagination","pageSizeOptions","showInfo","showPageSizeSelector","showPageJump","showPagerWhenSinglePage","compact","sm","knobProps","isMobile","availableWidth","setAvailableWidth","measureWidth","event","width","nativeEvent","layout","previous","handlePageSizeChange","newPageSize","Number","isFinite","handlePageChange","newPageIndex","currentPage","showPager","startItem","endItem","min","pageControls","length","controlBudget","control","height","paddingHorizontal","gapPixels","gap","paddingPixels","panelPadding","padding","measuredBudget","numberedBudget","Infinity","simplePager","sizeOptions","sizes","Set","filter","n","add","sort","a","b","showSize","showRange","showJump","jumpNonce","setJumpNonce","commitJump","pageNumber","revertInvalid","page","parseInt","isNaN","helperText","label","color","userSelect","sizeControl","alignItems","flexShrink","children","map","String","overflow","value","onChange","options","size","sizeToken","pager","variant","onPageChange","showFirstLast","jumpControl","defaultValue","inputProps","inputMode","autoComplete","style","textAlign","onKeyDown","e","key","target","placeholder","rangeControl","whiteSpace","packed","role","onLayout","minWidth","maxWidth","flexGrow","flexWrap","gapLg","rowGap","paddingVertical","flexBasis","justifyContent"],"sources":["../../../../src/components/DataTablePagination/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -82,6 +82,13 @@ function DataTablePagination(props) {
82
82
  compact
83
83
  });
84
84
  var isMobile = !sm;
85
+ var [availableWidth, setAvailableWidth] = (0, import_react.useState)();
86
+ var measureWidth = function measureWidth2(event) {
87
+ var width = event.nativeEvent.layout.width;
88
+ if (width > 0) setAvailableWidth(function (previous) {
89
+ return previous === width ? previous : width;
90
+ });
91
+ };
85
92
  (0, import_theme.ensureCompositeFocusRing)();
86
93
  var handlePageSizeChange = function handlePageSizeChange2(newPageSize) {
87
94
  if (!Number.isFinite(newPageSize) || newPageSize <= 0) return;
@@ -105,6 +112,13 @@ function DataTablePagination(props) {
105
112
  var totalCount = pagination.totalCount || 0;
106
113
  var startItem = totalCount === 0 ? 0 : pagination.pageIndex * pagination.pageSize + 1;
107
114
  var endItem = Math.min((pagination.pageIndex + 1) * pagination.pageSize, totalCount);
115
+ var pageControls = (0, import_components.getPaginationItems)(totalPages, currentPage).length + 2 + (!compact && !isMobile ? 2 : 0);
116
+ var controlBudget = Math.max(import_theme.MIN_PRESS_TARGET, knobProps.control.height + knobProps.control.paddingHorizontal * 2);
117
+ var gapPixels = Number((0, import_tamagui.getTokenValue)(knobProps.gap.gap, "space"));
118
+ var paddingPixels = Number((0, import_tamagui.getTokenValue)(knobProps.panelPadding.padding, "space"));
119
+ var measuredBudget = pageControls * controlBudget + Math.max(0, pageControls - 1) * gapPixels + paddingPixels * 2;
120
+ var numberedBudget = Number.isFinite(measuredBudget) ? measuredBudget : Infinity;
121
+ var simplePager = availableWidth === void 0 || availableWidth < numberedBudget;
108
122
  var sizeOptions = (0, import_react.useMemo)(function () {
109
123
  var sizes = new Set(pageSizeOptions.filter(function (n) {
110
124
  return Number.isFinite(n) && n > 0;
@@ -116,7 +130,7 @@ function DataTablePagination(props) {
116
130
  }, [pageSizeOptions, pagination.pageSize]);
117
131
  var showSize = showPageSizeSelector;
118
132
  var showRange = showInfo && !(compact && insideTable);
119
- var showJump = showPageJump && showPager && !compact && !isMobile;
133
+ var showJump = showPageJump && showPager && !compact && !isMobile && !simplePager;
120
134
  var [jumpNonce, setJumpNonce] = (0, import_react.useState)(0);
121
135
  var commitJump = function commitJump2(pageNumber) {
122
136
  var revertInvalid = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
@@ -171,13 +185,13 @@ function DataTablePagination(props) {
171
185
  })]
172
186
  }) : null;
173
187
  var pager = showPager ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Pagination, {
174
- variant: "numbered",
188
+ variant: simplePager ? "simple" : "numbered",
175
189
  total: totalPages,
176
190
  page: currentPage,
177
191
  onPageChange: function onPageChange(page) {
178
192
  return handlePageChange(page - 1);
179
193
  },
180
- showFirstLast: !compact && !isMobile,
194
+ showFirstLast: !simplePager && !compact && !isMobile,
181
195
  "aria-label": "Page"
182
196
  }) : null;
183
197
  var jumpControl = showJump ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
@@ -232,6 +246,12 @@ function DataTablePagination(props) {
232
246
  return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
233
247
  role: "group",
234
248
  "aria-label": "Table pagination",
249
+ onLayout: measureWidth,
250
+ minWidth: 0,
251
+ maxWidth: "100%",
252
+ flexGrow: 1,
253
+ flexShrink: 1,
254
+ flexWrap: "wrap",
235
255
  alignItems: "center",
236
256
  overflow: "visible",
237
257
  ...knobProps.gap,
@@ -246,6 +266,8 @@ function DataTablePagination(props) {
246
266
  (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
247
267
  role: "group",
248
268
  "aria-label": "Table pagination",
269
+ onLayout: measureWidth,
270
+ minWidth: 0,
249
271
  alignItems: "center",
250
272
  overflow: "visible",
251
273
  ...knobProps.gapLg,
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","DataTablePagination_exports","DataTablePagination","module","exports","import_jsx_runtime","require","import_theme","import_components","import_react","import_forms","import_tamagui","import_paginationDefaults","import_withInterp","import_DataTableStateContext","controlWidth","chars","chrome","Math","max","formatRange","start","end","total","props","_props_pagination","_props_onPaginationChange","ctx","useDataTableState","insideTable","Boolean","pagination","pageIndex","state","pageSize","totalPages","computed","totalCount","totalRows","hasPreviousPage","hasNextPage","DEFAULT_PAGE_SIZE","onPaginationChange","p","actions","setPagination","pageSizeOptions","DEFAULT_PAGE_SIZE_OPTIONS","showInfo","showPageSizeSelector","showPageJump","showPagerWhenSinglePage","compact","sm","useMedia","knobProps","useResolvedKnobs","isMobile","ensureCompositeFocusRing","handlePageSizeChange","handlePageSizeChange2","newPageSize","Number","isFinite","handlePageChange","handlePageChange2","newPageIndex","currentPage","showPager","startItem","endItem","min","sizeOptions","useMemo","sizes","Set","filter","n","add","sort","a","b","showSize","showRange","showJump","jumpNonce","setJumpNonce","useState","commitJump","commitJump2","pageNumber","revertInvalid","arguments","length","page","parseInt","isNaN","helperText","label","color","userSelect","sizeControl","jsxs","XStack","alignItems","gap","flexShrink","children","jsx","Text","View","width","map","String","overflow","Select","onChange","options","size","sizeToken","pager","Pagination","variant","onPageChange","showFirstLast","jumpControl","Input","defaultValue","inputProps","inputMode","autoComplete","style","textAlign","onKeyDown","e","placeholder","bidiIsolate","rangeControl","whiteSpace"],"sources":["../../../../src/components/DataTablePagination/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","DataTablePagination_exports","DataTablePagination","module","exports","import_jsx_runtime","require","import_theme","import_components","import_react","import_forms","import_tamagui","import_paginationDefaults","import_withInterp","import_DataTableStateContext","controlWidth","chars","chrome","Math","max","formatRange","start","end","total","props","_props_pagination","_props_onPaginationChange","ctx","useDataTableState","insideTable","Boolean","pagination","pageIndex","state","pageSize","totalPages","computed","totalCount","totalRows","hasPreviousPage","hasNextPage","DEFAULT_PAGE_SIZE","onPaginationChange","p","actions","setPagination","pageSizeOptions","DEFAULT_PAGE_SIZE_OPTIONS","showInfo","showPageSizeSelector","showPageJump","showPagerWhenSinglePage","compact","sm","useMedia","knobProps","useResolvedKnobs","isMobile","availableWidth","setAvailableWidth","useState","measureWidth","measureWidth2","event","width","nativeEvent","layout","previous","ensureCompositeFocusRing","handlePageSizeChange","handlePageSizeChange2","newPageSize","Number","isFinite","handlePageChange","handlePageChange2","newPageIndex","currentPage","showPager","startItem","endItem","min","pageControls","getPaginationItems","length","controlBudget","MIN_PRESS_TARGET","control","height","paddingHorizontal","gapPixels","getTokenValue","gap","paddingPixels","panelPadding","padding","measuredBudget","numberedBudget","Infinity","simplePager","sizeOptions","useMemo","sizes","Set","filter","n","add","sort","a","b","showSize","showRange","showJump","jumpNonce","setJumpNonce","commitJump","commitJump2","pageNumber","revertInvalid","arguments","page","parseInt","isNaN","helperText","label","color","userSelect","sizeControl","jsxs","XStack","alignItems","flexShrink","children","jsx","Text","View","map","String","overflow","Select","onChange","options","size","sizeToken","pager","Pagination","variant","onPageChange","showFirstLast","jumpControl","Input","defaultValue","inputProps","inputMode","autoComplete","style","textAlign","onKeyDown","e","placeholder","bidiIsolate","rangeControl","whiteSpace","packed","role","onLayout","minWidth","maxWidth","flexGrow","flexWrap"],"sources":["../../../../src/components/DataTablePagination/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/table",
3
- "version": "7.7.4",
3
+ "version": "7.7.6",
4
4
  "description": "Advanced table components with filtering, pagination, sorting, and URL state management",
5
5
  "keywords": [
6
6
  "cross-platform",
@@ -80,13 +80,13 @@
80
80
  "@tanstack/react-table": "^8.21.3",
81
81
  "@tanstack/table-core": "^8.21.3",
82
82
  "tamagui": "2.7.6",
83
- "@multiplatform.one/components": "7.7.4",
84
- "@multiplatform.one/forms": "7.7.4",
85
- "@multiplatform.one/platform": "7.7.4",
86
- "@multiplatform.one/rich-text": "7.7.4",
87
- "@multiplatform.one/router": "7.7.4",
88
- "@multiplatform.one/table-primitives": "7.7.4",
89
- "@multiplatform.one/theme": "7.7.4"
83
+ "@multiplatform.one/components": "7.7.6",
84
+ "@multiplatform.one/forms": "7.7.6",
85
+ "@multiplatform.one/platform": "7.7.6",
86
+ "@multiplatform.one/rich-text": "7.7.6",
87
+ "@multiplatform.one/router": "7.7.6",
88
+ "@multiplatform.one/table-primitives": "7.7.6",
89
+ "@multiplatform.one/theme": "7.7.6"
90
90
  },
91
91
  "devDependencies": {
92
92
  "@tamagui/build": "2.7.6",
@@ -98,10 +98,10 @@
98
98
  "react": "19.2.5",
99
99
  "react-dom": "19.2.5",
100
100
  "vitest": "^4.1.5",
101
- "@multiplatform.one/config": "7.7.4",
102
- "@multiplatform.one/router": "7.7.4",
103
- "@multiplatform.one/storybook": "7.7.4",
104
- "@multiplatform.one/test-utils": "7.7.4"
101
+ "@multiplatform.one/config": "7.7.6",
102
+ "@multiplatform.one/router": "7.7.6",
103
+ "@multiplatform.one/storybook": "7.7.6",
104
+ "@multiplatform.one/test-utils": "7.7.6"
105
105
  },
106
106
  "peerDependencies": {
107
107
  "i18next": "^25.0.0",
@@ -1,16 +1,23 @@
1
- import { useState } from "react";
1
+ import { createElement, forwardRef, useEffect, useState } from "react";
2
2
  import { renderWithProviders } from "@multiplatform.one/test-utils";
3
3
  import { fireEvent, screen } from "@testing-library/react";
4
4
  import { describe, expect, it, vi } from "vitest";
5
5
 
6
6
  // The happy-dom env resolves useMedia to { sm: false } (mobile), which hides
7
- // the desktop-only meta clusters (rows-per-page, jump, range info). Pin sm on
7
+ // the desktop-only meta clusters. Model a measured wide container and pin sm on
8
8
  // so the range-label contract below is testable (same pattern as
9
9
  // components/Debug and markdown/mdx specs).
10
10
  vi.mock("tamagui", async (importOriginal) => {
11
11
  const actual = await importOriginal<typeof import("tamagui")>();
12
12
  return {
13
13
  ...actual,
14
+ XStack: forwardRef((props: any, ref) => {
15
+ const onLayout = props["aria-label"] === "Table pagination" ? props.onLayout : undefined;
16
+ useEffect(() => {
17
+ onLayout?.({ nativeEvent: { layout: { width: 1200, height: 44, x: 0, y: 0 } } });
18
+ }, [onLayout]);
19
+ return createElement(actual.XStack, { ...props, ref });
20
+ }),
14
21
  useMedia: (...args: any[]) => ({ ...(actual.useMedia as any)(...args), sm: true }),
15
22
  };
16
23
  });
@@ -780,3 +780,22 @@ export const InfiniteVirtualized: Story = {
780
780
  />
781
781
  ),
782
782
  };
783
+
784
+ export const NarrowPanel: Story = {
785
+ render: () => {
786
+ const [pagination, setPagination] = React.useState({ pageIndex: 0, pageSize: 25 });
787
+ return (
788
+ <YStack width={249}>
789
+ <DataTablePagination
790
+ compact
791
+ pagination={{
792
+ ...pagination,
793
+ totalCount: 1000,
794
+ totalPages: Math.ceil(1000 / pagination.pageSize),
795
+ }}
796
+ onPaginationChange={setPagination}
797
+ />
798
+ </YStack>
799
+ );
800
+ },
801
+ };
@@ -0,0 +1,58 @@
1
+ import { createElement, forwardRef } from "react";
2
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
3
+ import { act, fireEvent, screen, within } from "@testing-library/react";
4
+ import { beforeEach, describe, expect, it, vi } from "vitest";
5
+ import type { LayoutChangeEvent } from "react-native";
6
+
7
+ const observed = vi.hoisted(() => ({
8
+ onLayout: undefined as undefined | ((event: LayoutChangeEvent) => void),
9
+ change: vi.fn(),
10
+ }));
11
+ vi.mock("tamagui", async (importOriginal) => {
12
+ const actual = await importOriginal<typeof import("tamagui")>();
13
+ return {
14
+ ...actual,
15
+ useMedia: () => ({ sm: true }),
16
+ XStack: forwardRef((props: any, ref) => {
17
+ if (props["aria-label"] === "Table pagination") observed.onLayout = props.onLayout;
18
+ return createElement(actual.XStack, { ...props, ref });
19
+ }),
20
+ };
21
+ });
22
+ vi.mock("../DataTable/DataTableStateContext", () => ({
23
+ useDataTableState: () => ({
24
+ state: { pagination: { pageIndex: 0, pageSize: 25 } },
25
+ computed: { totalPages: 40, totalRows: 1000 },
26
+ actions: { setPagination: observed.change },
27
+ }),
28
+ }));
29
+ import { DataTablePagination } from "./index";
30
+
31
+ function measure(width: number) {
32
+ expect(observed.onLayout).toBeTypeOf("function");
33
+ act(() =>
34
+ observed.onLayout?.({
35
+ nativeEvent: { layout: { width, height: 44, x: 0, y: 0 } },
36
+ } as LayoutChangeEvent),
37
+ );
38
+ }
39
+ beforeEach(() => {
40
+ observed.change.mockReset();
41
+ observed.onLayout = undefined;
42
+ });
43
+
44
+ describe("bounded compact table pagination", () => {
45
+ it("starts safely and responds to container width even on a desktop viewport", () => {
46
+ renderWithProviders(<DataTablePagination compact />);
47
+ const pager = () => within(screen.getByRole("navigation", { name: "Page" }));
48
+ expect(pager().getAllByRole("button")).toHaveLength(2);
49
+ measure(1000);
50
+ expect(pager().getAllByRole("button").length).toBeGreaterThan(2);
51
+ measure(249);
52
+ expect(pager().getAllByRole("button")).toHaveLength(2);
53
+ expect(pager().getByText(/1.*40/)).toBeInTheDocument();
54
+ expect(screen.getByLabelText("Select rows per page")).toBeInTheDocument();
55
+ fireEvent.click(pager().getByLabelText("Go to next page"));
56
+ expect(observed.change).toHaveBeenCalledExactlyOnceWith({ pageIndex: 1, pageSize: 25 });
57
+ });
58
+ });
@@ -1,9 +1,13 @@
1
- import { ensureCompositeFocusRing, useResolvedKnobs } from "@multiplatform.one/theme";
2
- import { Pagination } from "@multiplatform.one/components";
1
+ import {
2
+ ensureCompositeFocusRing,
3
+ MIN_PRESS_TARGET,
4
+ useResolvedKnobs,
5
+ } from "@multiplatform.one/theme";
6
+ import { Pagination, getPaginationItems } from "@multiplatform.one/components";
3
7
  import { useMemo, useState } from "react";
4
8
  import type React from "react";
5
9
  import { Input, Select } from "@multiplatform.one/forms";
6
- import { Text, View, XStack, useMedia } from "tamagui";
10
+ import { Text, View, XStack, getTokenValue, useMedia } from "tamagui";
7
11
  import type { TablePagination, TablePaginationState } from "../../types";
8
12
  import { DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS } from "../../utils/paginationDefaults";
9
13
  import { bidiIsolate } from "../../utils/withInterp";
@@ -35,7 +39,7 @@ function formatRange(start: number, end: number, total: number) {
35
39
 
36
40
  /**
37
41
  * DataTable footer pager. Page navigation is the catalog
38
- * `Pagination` component (`variant="numbered"`) — one pagination idiom
42
+ * `Pagination` component (`variant={simplePager ? "simple" : "numbered"}`) — one pagination idiom
39
43
  * across the system. This wrapper adds the table-specific chrome:
40
44
  * rows-per-page selector, go-to-page jump, and the item-range summary.
41
45
  *
@@ -84,6 +88,11 @@ export function DataTablePagination(props: DataTablePaginationProps) {
84
88
  const { sm } = useMedia();
85
89
  const { knobProps } = useResolvedKnobs(compact === undefined ? undefined : { compact });
86
90
  const isMobile = !sm;
91
+ const [availableWidth, setAvailableWidth] = useState<number | undefined>();
92
+ const measureWidth = (event: import("react-native").LayoutChangeEvent) => {
93
+ const width = event.nativeEvent.layout.width;
94
+ if (width > 0) setAvailableWidth((previous) => (previous === width ? previous : width));
95
+ };
87
96
  // LC-71: mount the composite-boundary ring sheet before Select/Input paint.
88
97
  ensureCompositeFocusRing();
89
98
 
@@ -112,6 +121,25 @@ export function DataTablePagination(props: DataTablePaginationProps) {
112
121
  const startItem = totalCount === 0 ? 0 : pagination.pageIndex * pagination.pageSize + 1;
113
122
  const endItem = Math.min((pagination.pageIndex + 1) * pagination.pageSize, totalCount);
114
123
 
124
+ // Budget the numbered window from the active theme's control geometry.
125
+ // An unmeasured host uses the safe simple presentation, including SSR.
126
+ const pageControls =
127
+ getPaginationItems(totalPages, currentPage).length + 2 + (!compact && !isMobile ? 2 : 0);
128
+ const controlBudget = Math.max(
129
+ MIN_PRESS_TARGET,
130
+ knobProps.control.height + knobProps.control.paddingHorizontal * 2,
131
+ );
132
+ const gapPixels = Number(
133
+ getTokenValue(knobProps.gap.gap as Parameters<typeof getTokenValue>[0], "space"),
134
+ );
135
+ const paddingPixels = Number(
136
+ getTokenValue(knobProps.panelPadding.padding as Parameters<typeof getTokenValue>[0], "space"),
137
+ );
138
+ const measuredBudget =
139
+ pageControls * controlBudget + Math.max(0, pageControls - 1) * gapPixels + paddingPixels * 2;
140
+ const numberedBudget = Number.isFinite(measuredBudget) ? measuredBudget : Infinity;
141
+ const simplePager = availableWidth === undefined || availableWidth < numberedBudget;
142
+
115
143
  const sizeOptions = useMemo(() => {
116
144
  const sizes = new Set(pageSizeOptions.filter((n) => Number.isFinite(n) && n > 0));
117
145
  if (pagination.pageSize > 0) sizes.add(pagination.pageSize);
@@ -121,7 +149,7 @@ export function DataTablePagination(props: DataTablePaginationProps) {
121
149
  const showSize = showPageSizeSelector;
122
150
  // Compact-inside-DataTable: the table footer already paints the range.
123
151
  const showRange = showInfo && !(compact && insideTable);
124
- const showJump = showPageJump && showPager && !compact && !isMobile;
152
+ const showJump = showPageJump && showPager && !compact && !isMobile && !simplePager;
125
153
 
126
154
  const [jumpNonce, setJumpNonce] = useState(0);
127
155
 
@@ -172,11 +200,11 @@ export function DataTablePagination(props: DataTablePaginationProps) {
172
200
 
173
201
  const pager = showPager ? (
174
202
  <Pagination
175
- variant="numbered"
203
+ variant={simplePager ? "simple" : "numbered"}
176
204
  total={totalPages}
177
205
  page={currentPage}
178
206
  onPageChange={(page) => handlePageChange(page - 1)}
179
- showFirstLast={!compact && !isMobile}
207
+ showFirstLast={!simplePager && !compact && !isMobile}
180
208
  aria-label="Page"
181
209
  />
182
210
  ) : null;
@@ -228,6 +256,12 @@ export function DataTablePagination(props: DataTablePaginationProps) {
228
256
  <XStack
229
257
  role="group"
230
258
  aria-label="Table pagination"
259
+ onLayout={measureWidth}
260
+ minWidth={0}
261
+ maxWidth="100%"
262
+ flexGrow={1}
263
+ flexShrink={1}
264
+ flexWrap="wrap"
231
265
  alignItems="center"
232
266
  overflow="visible"
233
267
  {...knobProps.gap}
@@ -245,6 +279,8 @@ export function DataTablePagination(props: DataTablePaginationProps) {
245
279
  <XStack
246
280
  role="group"
247
281
  aria-label="Table pagination"
282
+ onLayout={measureWidth}
283
+ minWidth={0}
248
284
  alignItems="center"
249
285
  overflow="visible"
250
286
  {...knobProps.gapLg}
@@ -15,7 +15,7 @@ export interface DataTablePaginationProps {
15
15
  }
16
16
  /**
17
17
  * DataTable footer pager. Page navigation is the catalog
18
- * `Pagination` component (`variant="numbered"`) — one pagination idiom
18
+ * `Pagination` component (`variant={simplePager ? "simple" : "numbered"}`) — one pagination idiom
19
19
  * across the system. This wrapper adds the table-specific chrome:
20
20
  * rows-per-page selector, go-to-page jump, and the item-range summary.
21
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DataTablePagination/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAKzE,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,kDA2OlE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DataTablePagination/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAKzE,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,kDA2QlE"}