@multiplatform.one/components 7.2.2 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -38,12 +38,14 @@ var import_jsx_runtime = require("react/jsx-runtime");
38
38
  function ImageGridSkeleton({
39
39
  columns,
40
40
  cellPadding,
41
+ aspect,
41
42
  loadingLabel
42
43
  }) {
43
44
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
44
45
  flexWrap: "wrap",
45
46
  margin: -cellPadding,
46
47
  "data-async-skeleton": "image-grid",
48
+ "data-media-aspect": aspect,
47
49
  "aria-busy": true,
48
50
  "aria-label": loadingLabel,
49
51
  children: Array.from({
@@ -54,7 +56,7 @@ function ImageGridSkeleton({
54
56
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Skeleton.Skeleton, {
55
57
  variant: "rounded",
56
58
  width: "100%",
57
- aspectRatio: 1
59
+ aspectRatio: aspect
58
60
  })
59
61
  }, i))
60
62
  });
@@ -126,6 +128,8 @@ function ImageGrid({
126
128
  error = null,
127
129
  onRetry,
128
130
  columns: columnsProp,
131
+ tileSize,
132
+ mediaAspect,
129
133
  estimateSize: _estimateSize,
130
134
  overscan: _overscan,
131
135
  height: heightProp,
@@ -141,6 +145,9 @@ function ImageGrid({
141
145
  knobProps
142
146
  } = (0, import_theme.useResolvedKnobs)();
143
147
  const isRTL = (0, import_useDirection.useDirection)() === "rtl";
148
+ const gapToken = knobProps.gap.gap;
149
+ const gutter = typeof gapToken === "number" ? gapToken : (0, import_tamagui.getTokenValue)(gapToken, "space") ?? 16;
150
+ const cellPadding = gutter / 2;
144
151
  const {
145
152
  width: windowWidth
146
153
  } = (0, import_tamagui.useWindowDimensions)();
@@ -151,7 +158,7 @@ function ImageGrid({
151
158
  large: 5,
152
159
  xl: 5
153
160
  };
154
- const columns = columnsProp ?? columnsBySizeClass[(0, import_theme.getLayoutSizeClass)(windowWidth)];
161
+ const columns = columnsProp ?? (tileSize ? (0, import_theme.tileColumnsForWidth)(windowWidth, import_theme.tileSizeLadder[tileSize], gutter) : columnsBySizeClass[(0, import_theme.getLayoutSizeClass)(windowWidth)]);
155
162
  const height = heightProp;
156
163
  const gridId = (0, import_react.useId)();
157
164
  const containerRef = (0, import_react.useRef)(null);
@@ -162,9 +169,6 @@ function ImageGrid({
162
169
  if (!(0, import_theme.wasKeyboardFocus)()) return;
163
170
  setFocusedIndex(prev => prev < 0 ? 0 : prev);
164
171
  }, []);
165
- const gapToken = knobProps.gap.gap;
166
- const gutter = typeof gapToken === "number" ? gapToken : (0, import_tamagui.getTokenValue)(gapToken, "space") ?? 16;
167
- const cellPadding = gutter / 2;
168
172
  const scrollToIndex = (0, import_react.useCallback)(index => {
169
173
  if (index >= 0 && index < items.length) {
170
174
  document.getElementById(`${gridId}-item-${index}`)?.scrollIntoView({
@@ -308,6 +312,7 @@ function ImageGrid({
308
312
  loading: !hasError && isLoading && items.length === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(ImageGridSkeleton, {
309
313
  columns,
310
314
  cellPadding,
315
+ aspect: (0, import_theme.resolveMediaAspect)(mediaAspect),
311
316
  loadingLabel: t("Loading")
312
317
  }) : false,
313
318
  empty: !hasError && items.length === 0,
@@ -52,12 +52,14 @@ function ImageGridSkeleton(param) {
52
52
  var {
53
53
  columns,
54
54
  cellPadding,
55
+ aspect,
55
56
  loadingLabel
56
57
  } = param;
57
58
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
58
59
  flexWrap: "wrap",
59
60
  margin: -cellPadding,
60
61
  "data-async-skeleton": "image-grid",
62
+ "data-media-aspect": aspect,
61
63
  "aria-busy": true,
62
64
  "aria-label": loadingLabel,
63
65
  children: Array.from({
@@ -69,7 +71,7 @@ function ImageGridSkeleton(param) {
69
71
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Skeleton.Skeleton, {
70
72
  variant: "rounded",
71
73
  width: "100%",
72
- aspectRatio: 1
74
+ aspectRatio: aspect
73
75
  })
74
76
  }, i);
75
77
  })
@@ -156,6 +158,8 @@ function ImageGrid(param) {
156
158
  error = null,
157
159
  onRetry,
158
160
  columns: columnsProp,
161
+ tileSize,
162
+ mediaAspect,
159
163
  estimateSize: _estimateSize,
160
164
  overscan: _overscan,
161
165
  height: heightProp,
@@ -172,6 +176,9 @@ function ImageGrid(param) {
172
176
  knobProps
173
177
  } = (0, import_theme.useResolvedKnobs)();
174
178
  var isRTL = (0, import_useDirection.useDirection)() === "rtl";
179
+ var gapToken = knobProps.gap.gap;
180
+ var gutter = typeof gapToken === "number" ? gapToken : (_getTokenValue = (0, import_tamagui.getTokenValue)(gapToken, "space")) !== null && _getTokenValue !== void 0 ? _getTokenValue : 16;
181
+ var cellPadding = gutter / 2;
175
182
  var {
176
183
  width: windowWidth
177
184
  } = (0, import_tamagui.useWindowDimensions)();
@@ -182,7 +189,7 @@ function ImageGrid(param) {
182
189
  large: 5,
183
190
  xl: 5
184
191
  };
185
- var columns = columnsProp !== null && columnsProp !== void 0 ? columnsProp : columnsBySizeClass[(0, import_theme.getLayoutSizeClass)(windowWidth)];
192
+ var columns = columnsProp !== null && columnsProp !== void 0 ? columnsProp : tileSize ? (0, import_theme.tileColumnsForWidth)(windowWidth, import_theme.tileSizeLadder[tileSize], gutter) : columnsBySizeClass[(0, import_theme.getLayoutSizeClass)(windowWidth)];
186
193
  var height = heightProp;
187
194
  var gridId = (0, import_react.useId)();
188
195
  var containerRef = (0, import_react.useRef)(null);
@@ -195,9 +202,6 @@ function ImageGrid(param) {
195
202
  return prev < 0 ? 0 : prev;
196
203
  });
197
204
  }, []);
198
- var gapToken = knobProps.gap.gap;
199
- var gutter = typeof gapToken === "number" ? gapToken : (_getTokenValue = (0, import_tamagui.getTokenValue)(gapToken, "space")) !== null && _getTokenValue !== void 0 ? _getTokenValue : 16;
200
- var cellPadding = gutter / 2;
201
205
  var scrollToIndex = (0, import_react.useCallback)(function (index) {
202
206
  if (index >= 0 && index < items.length) {
203
207
  var _document_getElementById;
@@ -354,6 +358,7 @@ function ImageGrid(param) {
354
358
  loading: !hasError && isLoading && items.length === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(ImageGridSkeleton, {
355
359
  columns,
356
360
  cellPadding,
361
+ aspect: (0, import_theme.resolveMediaAspect)(mediaAspect),
357
362
  loadingLabel: t("Loading")
358
363
  }) : false,
359
364
  empty: !hasError && items.length === 0,
@@ -1 +1 @@
1
- {"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","ImageGrid_exports","__export","ImageGrid","module","exports","import_jsx_runtime","require","import_AsyncBoundary","import_Skeleton","import_useDirection","import_forms","import_theme","import_react_hotkeys","import_react","import_i18n","import_tamagui","ImageGridSkeleton","param","columns","cellPadding","loadingLabel","jsx","XStack","flexWrap","margin","children","Array","from","length","map","_","i","View","width","padding","Skeleton","variant","aspectRatio","ImageGridTile","id","isFocused","showRing","clickable","colIndex","rowIndex","radius","radiusClassName","onPress","hovered","setHovered","useState","role","jsxs","position","borderRadius","className","cursor","keyboardFocusRingProps","outlineWidth","onHoverIn","onHoverOut","overflow","inset","pointerEvents","backgroundColor","opacity","items","renderItem","onItemClick","onLoadMore","hasMore","isLoading","error","onRetry","columnsProp","estimateSize","_estimateSize","overscan","_overscan","height","heightProp","emptyMessage","emptyMessageProp","hotkeys","hotkeyOverrides","stackProps","_getTokenValue","_ref","_ref1","_ref2","_ref3","_ref4","_ref5","_ref6","t","useTranslation","knobProps","useResolvedKnobs","isRTL","useDirection","windowWidth","useWindowDimensions","columnsBySizeClass","compact","medium","expanded","large","xl","getLayoutSizeClass","gridId","useId","containerRef","useRef","sentinelRef","focusedIndex","setFocusedIndex","document","ensureKeyboardModalityTracking","handleContainerFocus","useCallback","wasKeyboardFocus","prev","gapToken","gap","gutter","getTokenValue","scrollToIndex","index","_document_getElementById","getElementById","scrollIntoView","block","moveFocus","delta","next","Math","max","min","hotkeyOpts","useHotkey","right","left","down","up","activateFocused","select","first","last","useEffect","IntersectionObserver","el","current","observer","entries","some","entry","isIntersecting","observe","disconnect","hasError","resolveAsyncStatus","effectiveFocused","showKeyboardRing","rowCount","ceil","gridBody","ref","tabIndex","focusStyle","focusVisibleStyle","onFocus","style","overflowY","onScroll","scrollTop","clientHeight","scrollHeight","YStack","row","start","rowItems","slice","item","col","Boolean"],"sources":["../../../src/views/ImageGrid.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","ImageGrid_exports","__export","ImageGrid","module","exports","import_jsx_runtime","require","import_AsyncBoundary","import_Skeleton","import_useDirection","import_forms","import_theme","import_react_hotkeys","import_react","import_i18n","import_tamagui","ImageGridSkeleton","param","columns","cellPadding","aspect","loadingLabel","jsx","XStack","flexWrap","margin","children","Array","from","length","map","_","i","View","width","padding","Skeleton","variant","aspectRatio","ImageGridTile","id","isFocused","showRing","clickable","colIndex","rowIndex","radius","radiusClassName","onPress","hovered","setHovered","useState","role","jsxs","position","borderRadius","className","cursor","keyboardFocusRingProps","outlineWidth","onHoverIn","onHoverOut","overflow","inset","pointerEvents","backgroundColor","opacity","items","renderItem","onItemClick","onLoadMore","hasMore","isLoading","error","onRetry","columnsProp","tileSize","mediaAspect","estimateSize","_estimateSize","overscan","_overscan","height","heightProp","emptyMessage","emptyMessageProp","hotkeys","hotkeyOverrides","stackProps","_getTokenValue","_ref","_ref1","_ref2","_ref3","_ref4","_ref5","_ref6","t","useTranslation","knobProps","useResolvedKnobs","isRTL","useDirection","gapToken","gap","gutter","getTokenValue","windowWidth","useWindowDimensions","columnsBySizeClass","compact","medium","expanded","large","xl","tileColumnsForWidth","tileSizeLadder","getLayoutSizeClass","gridId","useId","containerRef","useRef","sentinelRef","focusedIndex","setFocusedIndex","document","ensureKeyboardModalityTracking","handleContainerFocus","useCallback","wasKeyboardFocus","prev","scrollToIndex","index","_document_getElementById","getElementById","scrollIntoView","block","moveFocus","delta","next","Math","max","min","hotkeyOpts","useHotkey","right","left","down","up","activateFocused","select","first","last","useEffect","IntersectionObserver","el","current","observer","entries","some","entry","isIntersecting","observe","disconnect","hasError","resolveAsyncStatus","effectiveFocused","showKeyboardRing","rowCount","ceil","gridBody","ref","tabIndex","focusStyle","focusVisibleStyle","onFocus","style","overflowY","onScroll","scrollTop","clientHeight","scrollHeight","YStack","row","start","rowItems","slice","item","col","Boolean"],"sources":["../../../src/views/ImageGrid.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { AsyncBoundary, resolveAsyncStatus } from "../layouts/AsyncBoundary.mjs"
2
2
  import { Skeleton } from "../Skeleton/index.mjs";
3
3
  import { useDirection } from "../hooks/useDirection.mjs";
4
4
  import { Spinner } from "@multiplatform.one/forms";
5
- import { getLayoutSizeClass, keyboardFocusRingProps, ensureKeyboardModalityTracking, useResolvedKnobs, wasKeyboardFocus } from "@multiplatform.one/theme";
5
+ import { getLayoutSizeClass, keyboardFocusRingProps, ensureKeyboardModalityTracking, resolveMediaAspect, tileColumnsForWidth, tileSizeLadder, useResolvedKnobs, wasKeyboardFocus } from "@multiplatform.one/theme";
6
6
  import { useHotkey } from "@tanstack/react-hotkeys";
7
7
  import { useCallback, useEffect, useId, useRef, useState } from "react";
8
8
  import { useTranslation } from "../shared/i18n.mjs";
@@ -11,12 +11,14 @@ import { jsx, jsxs } from "react/jsx-runtime";
11
11
  function ImageGridSkeleton({
12
12
  columns,
13
13
  cellPadding,
14
+ aspect,
14
15
  loadingLabel
15
16
  }) {
16
17
  return /* @__PURE__ */jsx(XStack, {
17
18
  flexWrap: "wrap",
18
19
  margin: -cellPadding,
19
20
  "data-async-skeleton": "image-grid",
21
+ "data-media-aspect": aspect,
20
22
  "aria-busy": true,
21
23
  "aria-label": loadingLabel,
22
24
  children: Array.from({
@@ -27,7 +29,7 @@ function ImageGridSkeleton({
27
29
  children: /* @__PURE__ */jsx(Skeleton, {
28
30
  variant: "rounded",
29
31
  width: "100%",
30
- aspectRatio: 1
32
+ aspectRatio: aspect
31
33
  })
32
34
  }, i))
33
35
  });
@@ -99,6 +101,8 @@ function ImageGrid({
99
101
  error = null,
100
102
  onRetry,
101
103
  columns: columnsProp,
104
+ tileSize,
105
+ mediaAspect,
102
106
  estimateSize: _estimateSize,
103
107
  overscan: _overscan,
104
108
  height: heightProp,
@@ -114,6 +118,9 @@ function ImageGrid({
114
118
  knobProps
115
119
  } = useResolvedKnobs();
116
120
  const isRTL = useDirection() === "rtl";
121
+ const gapToken = knobProps.gap.gap;
122
+ const gutter = typeof gapToken === "number" ? gapToken : getTokenValue(gapToken, "space") ?? 16;
123
+ const cellPadding = gutter / 2;
117
124
  const {
118
125
  width: windowWidth
119
126
  } = useWindowDimensions();
@@ -124,7 +131,7 @@ function ImageGrid({
124
131
  large: 5,
125
132
  xl: 5
126
133
  };
127
- const columns = columnsProp ?? columnsBySizeClass[getLayoutSizeClass(windowWidth)];
134
+ const columns = columnsProp ?? (tileSize ? tileColumnsForWidth(windowWidth, tileSizeLadder[tileSize], gutter) : columnsBySizeClass[getLayoutSizeClass(windowWidth)]);
128
135
  const height = heightProp;
129
136
  const gridId = useId();
130
137
  const containerRef = useRef(null);
@@ -135,9 +142,6 @@ function ImageGrid({
135
142
  if (!wasKeyboardFocus()) return;
136
143
  setFocusedIndex(prev => prev < 0 ? 0 : prev);
137
144
  }, []);
138
- const gapToken = knobProps.gap.gap;
139
- const gutter = typeof gapToken === "number" ? gapToken : getTokenValue(gapToken, "space") ?? 16;
140
- const cellPadding = gutter / 2;
141
145
  const scrollToIndex = useCallback(index => {
142
146
  if (index >= 0 && index < items.length) {
143
147
  document.getElementById(`${gridId}-item-${index}`)?.scrollIntoView({
@@ -281,6 +285,7 @@ function ImageGrid({
281
285
  loading: !hasError && isLoading && items.length === 0 ? /* @__PURE__ */jsx(ImageGridSkeleton, {
282
286
  columns,
283
287
  cellPadding,
288
+ aspect: resolveMediaAspect(mediaAspect),
284
289
  loadingLabel: t("Loading")
285
290
  }) : false,
286
291
  empty: !hasError && items.length === 0,
@@ -1 +1 @@
1
- {"version":3,"names":["AsyncBoundary","resolveAsyncStatus","Skeleton","useDirection","Spinner","getLayoutSizeClass","keyboardFocusRingProps","ensureKeyboardModalityTracking","useResolvedKnobs","wasKeyboardFocus","useHotkey","useCallback","useEffect","useId","useRef","useState","useTranslation","View","XStack","YStack","getTokenValue","useWindowDimensions","jsx","jsxs","ImageGridSkeleton","columns","cellPadding","loadingLabel","flexWrap","margin","children","Array","from","length","map","_","i","width","padding","variant","aspectRatio","ImageGridTile","id","isFocused","showRing","clickable","colIndex","rowIndex","radius","radiusClassName","onPress","hovered","setHovered","role","position","borderRadius","className","cursor","outlineWidth","onHoverIn","onHoverOut","overflow","inset","pointerEvents","backgroundColor","opacity","ImageGrid","items","renderItem","onItemClick","onLoadMore","hasMore","isLoading","error","onRetry","columnsProp","estimateSize","_estimateSize","overscan","_overscan","height","heightProp","emptyMessage","emptyMessageProp","hotkeys","hotkeyOverrides","stackProps","t","knobProps","isRTL","windowWidth","columnsBySizeClass","compact","medium","expanded","large","xl","gridId","containerRef","sentinelRef","focusedIndex","setFocusedIndex","document","handleContainerFocus","prev","gapToken","gap","gutter","scrollToIndex","index","getElementById","scrollIntoView","block","moveFocus","delta","next","Math","max","min","hotkeyOpts","target","right","left","down","up","activateFocused","select","first","last","IntersectionObserver","el","current","observer","entries","some","entry","isIntersecting","observe","disconnect","hasError","effectiveFocused","showKeyboardRing","rowCount","ceil","gridBody","ref","tabIndex","focusStyle","focusVisibleStyle","onFocus","style","overflowY","onScroll","scrollTop","clientHeight","scrollHeight","row","start","rowItems","slice","item","col","Boolean","alignItems","size","errorTitle","emptyTitle","loading","empty"],"sources":["../../../src/views/ImageGrid.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AsyncBoundary","resolveAsyncStatus","Skeleton","useDirection","Spinner","getLayoutSizeClass","keyboardFocusRingProps","ensureKeyboardModalityTracking","resolveMediaAspect","tileColumnsForWidth","tileSizeLadder","useResolvedKnobs","wasKeyboardFocus","useHotkey","useCallback","useEffect","useId","useRef","useState","useTranslation","View","XStack","YStack","getTokenValue","useWindowDimensions","jsx","jsxs","ImageGridSkeleton","columns","cellPadding","aspect","loadingLabel","flexWrap","margin","children","Array","from","length","map","_","i","width","padding","variant","aspectRatio","ImageGridTile","id","isFocused","showRing","clickable","colIndex","rowIndex","radius","radiusClassName","onPress","hovered","setHovered","role","position","borderRadius","className","cursor","outlineWidth","onHoverIn","onHoverOut","overflow","inset","pointerEvents","backgroundColor","opacity","ImageGrid","items","renderItem","onItemClick","onLoadMore","hasMore","isLoading","error","onRetry","columnsProp","tileSize","mediaAspect","estimateSize","_estimateSize","overscan","_overscan","height","heightProp","emptyMessage","emptyMessageProp","hotkeys","hotkeyOverrides","stackProps","t","knobProps","isRTL","gapToken","gap","gutter","windowWidth","columnsBySizeClass","compact","medium","expanded","large","xl","gridId","containerRef","sentinelRef","focusedIndex","setFocusedIndex","document","handleContainerFocus","prev","scrollToIndex","index","getElementById","scrollIntoView","block","moveFocus","delta","next","Math","max","min","hotkeyOpts","target","right","left","down","up","activateFocused","select","first","last","IntersectionObserver","el","current","observer","entries","some","entry","isIntersecting","observe","disconnect","hasError","effectiveFocused","showKeyboardRing","rowCount","ceil","gridBody","ref","tabIndex","focusStyle","focusVisibleStyle","onFocus","style","overflowY","onScroll","scrollTop","clientHeight","scrollHeight","row","start","rowItems","slice","item","col","Boolean","alignItems","size","errorTitle","emptyTitle","loading","empty"],"sources":["../../../src/views/ImageGrid.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@ import { AsyncBoundary, resolveAsyncStatus } from "../layouts/AsyncBoundary.nati
3
3
  import { Skeleton } from "../Skeleton/index.native.js";
4
4
  import { useDirection } from "../hooks/useDirection.native.js";
5
5
  import { Spinner } from "@multiplatform.one/forms";
6
- import { getLayoutSizeClass, keyboardFocusRingProps, ensureKeyboardModalityTracking, useResolvedKnobs, wasKeyboardFocus } from "@multiplatform.one/theme";
6
+ import { getLayoutSizeClass, keyboardFocusRingProps, ensureKeyboardModalityTracking, resolveMediaAspect, tileColumnsForWidth, tileSizeLadder, useResolvedKnobs, wasKeyboardFocus } from "@multiplatform.one/theme";
7
7
  import { useHotkey } from "@tanstack/react-hotkeys";
8
8
  import React, { useCallback, useEffect, useId, useRef, useState } from "react";
9
9
  import { useTranslation } from "../shared/i18n.native.js";
@@ -12,12 +12,14 @@ function ImageGridSkeleton(param) {
12
12
  var {
13
13
  columns,
14
14
  cellPadding,
15
+ aspect,
15
16
  loadingLabel
16
17
  } = param;
17
18
  return /* @__PURE__ */_jsx(XStack, {
18
19
  flexWrap: "wrap",
19
20
  margin: -cellPadding,
20
21
  "data-async-skeleton": "image-grid",
22
+ "data-media-aspect": aspect,
21
23
  "aria-busy": true,
22
24
  "aria-label": loadingLabel,
23
25
  children: Array.from({
@@ -29,7 +31,7 @@ function ImageGridSkeleton(param) {
29
31
  children: /* @__PURE__ */_jsx(Skeleton, {
30
32
  variant: "rounded",
31
33
  width: "100%",
32
- aspectRatio: 1
34
+ aspectRatio: aspect
33
35
  })
34
36
  }, i);
35
37
  })
@@ -116,6 +118,8 @@ function ImageGrid(param) {
116
118
  error = null,
117
119
  onRetry,
118
120
  columns: columnsProp,
121
+ tileSize,
122
+ mediaAspect,
119
123
  estimateSize: _estimateSize,
120
124
  overscan: _overscan,
121
125
  height: heightProp,
@@ -132,6 +136,9 @@ function ImageGrid(param) {
132
136
  knobProps
133
137
  } = useResolvedKnobs();
134
138
  var isRTL = useDirection() === "rtl";
139
+ var gapToken = knobProps.gap.gap;
140
+ var gutter = typeof gapToken === "number" ? gapToken : (_getTokenValue = getTokenValue(gapToken, "space")) !== null && _getTokenValue !== void 0 ? _getTokenValue : 16;
141
+ var cellPadding = gutter / 2;
135
142
  var {
136
143
  width: windowWidth
137
144
  } = useWindowDimensions();
@@ -142,7 +149,7 @@ function ImageGrid(param) {
142
149
  large: 5,
143
150
  xl: 5
144
151
  };
145
- var columns = columnsProp !== null && columnsProp !== void 0 ? columnsProp : columnsBySizeClass[getLayoutSizeClass(windowWidth)];
152
+ var columns = columnsProp !== null && columnsProp !== void 0 ? columnsProp : tileSize ? tileColumnsForWidth(windowWidth, tileSizeLadder[tileSize], gutter) : columnsBySizeClass[getLayoutSizeClass(windowWidth)];
146
153
  var height = heightProp;
147
154
  var gridId = useId();
148
155
  var containerRef = useRef(null);
@@ -155,9 +162,6 @@ function ImageGrid(param) {
155
162
  return prev < 0 ? 0 : prev;
156
163
  });
157
164
  }, []);
158
- var gapToken = knobProps.gap.gap;
159
- var gutter = typeof gapToken === "number" ? gapToken : (_getTokenValue = getTokenValue(gapToken, "space")) !== null && _getTokenValue !== void 0 ? _getTokenValue : 16;
160
- var cellPadding = gutter / 2;
161
165
  var scrollToIndex = useCallback(function (index) {
162
166
  if (index >= 0 && index < items.length) {
163
167
  var _document_getElementById;
@@ -314,6 +318,7 @@ function ImageGrid(param) {
314
318
  loading: !hasError && isLoading && items.length === 0 ? /* @__PURE__ */_jsx(ImageGridSkeleton, {
315
319
  columns,
316
320
  cellPadding,
321
+ aspect: resolveMediaAspect(mediaAspect),
317
322
  loadingLabel: t("Loading")
318
323
  }) : false,
319
324
  empty: !hasError && items.length === 0,
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","AsyncBoundary","resolveAsyncStatus","Skeleton","useDirection","Spinner","getLayoutSizeClass","keyboardFocusRingProps","ensureKeyboardModalityTracking","useResolvedKnobs","wasKeyboardFocus","useHotkey","React","useCallback","useEffect","useId","useRef","useState","useTranslation","View","XStack","YStack","getTokenValue","useWindowDimensions","ImageGridSkeleton","param","columns","cellPadding","loadingLabel","flexWrap","margin","children","Array","from","length","map","_","i","width","padding","variant","aspectRatio","ImageGridTile","id","isFocused","showRing","clickable","colIndex","rowIndex","radius","radiusClassName","onPress","hovered","setHovered","role","position","borderRadius","className","cursor","outlineWidth","onHoverIn","onHoverOut","overflow","inset","pointerEvents","backgroundColor","opacity","ImageGrid","items","renderItem","onItemClick","onLoadMore","hasMore","isLoading","error","onRetry","columnsProp","estimateSize","_estimateSize","overscan","_overscan","height","heightProp","emptyMessage","emptyMessageProp","hotkeys","hotkeyOverrides","stackProps","_getTokenValue","_ref","_ref1","_ref2","_ref3","_ref4","_ref5","_ref6","t","knobProps","isRTL","windowWidth","columnsBySizeClass","compact","medium","expanded","large","xl","gridId","containerRef","sentinelRef","focusedIndex","setFocusedIndex","document","handleContainerFocus","prev","gapToken","gap","gutter","scrollToIndex","index","_document_getElementById","getElementById","scrollIntoView","block","moveFocus","delta","next","Math","max","min","hotkeyOpts","target","right","left","down","up","activateFocused","select","first","last","IntersectionObserver","el","current","observer","entries","some","entry","isIntersecting","observe","disconnect","hasError","effectiveFocused","showKeyboardRing","rowCount","ceil","gridBody","ref","tabIndex","focusStyle","focusVisibleStyle","onFocus","style","overflowY","onScroll","scrollTop","clientHeight","scrollHeight","row","start","rowItems","slice","item","col","Boolean","alignItems","size"],"sources":["../../../src/views/ImageGrid.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","AsyncBoundary","resolveAsyncStatus","Skeleton","useDirection","Spinner","getLayoutSizeClass","keyboardFocusRingProps","ensureKeyboardModalityTracking","resolveMediaAspect","tileColumnsForWidth","tileSizeLadder","useResolvedKnobs","wasKeyboardFocus","useHotkey","React","useCallback","useEffect","useId","useRef","useState","useTranslation","View","XStack","YStack","getTokenValue","useWindowDimensions","ImageGridSkeleton","param","columns","cellPadding","aspect","loadingLabel","flexWrap","margin","children","Array","from","length","map","_","i","width","padding","variant","aspectRatio","ImageGridTile","id","isFocused","showRing","clickable","colIndex","rowIndex","radius","radiusClassName","onPress","hovered","setHovered","role","position","borderRadius","className","cursor","outlineWidth","onHoverIn","onHoverOut","overflow","inset","pointerEvents","backgroundColor","opacity","ImageGrid","items","renderItem","onItemClick","onLoadMore","hasMore","isLoading","error","onRetry","columnsProp","tileSize","mediaAspect","estimateSize","_estimateSize","overscan","_overscan","height","heightProp","emptyMessage","emptyMessageProp","hotkeys","hotkeyOverrides","stackProps","_getTokenValue","_ref","_ref1","_ref2","_ref3","_ref4","_ref5","_ref6","t","knobProps","isRTL","gapToken","gap","gutter","windowWidth","columnsBySizeClass","compact","medium","expanded","large","xl","gridId","containerRef","sentinelRef","focusedIndex","setFocusedIndex","document","handleContainerFocus","prev","scrollToIndex","index","_document_getElementById","getElementById","scrollIntoView","block","moveFocus","delta","next","Math","max","min","hotkeyOpts","target","right","left","down","up","activateFocused","select","first","last","IntersectionObserver","el","current","observer","entries","some","entry","isIntersecting","observe","disconnect","hasError","effectiveFocused","showKeyboardRing","rowCount","ceil","gridBody","ref","tabIndex","focusStyle","focusVisibleStyle","onFocus","style","overflowY","onScroll","scrollTop","clientHeight","scrollHeight","row","start","rowItems","slice","item","col","Boolean","alignItems","size","errorTitle"],"sources":["../../../src/views/ImageGrid.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { AsyncBoundary, resolveAsyncStatus } from "../layouts/AsyncBoundary.mjs"
2
2
  import { Skeleton } from "../Skeleton/index.mjs";
3
3
  import { useDirection } from "../hooks/useDirection.mjs";
4
4
  import { Spinner } from "@multiplatform.one/forms";
5
- import { getLayoutSizeClass, keyboardFocusRingProps, ensureKeyboardModalityTracking, useResolvedKnobs, wasKeyboardFocus } from "@multiplatform.one/theme";
5
+ import { getLayoutSizeClass, keyboardFocusRingProps, ensureKeyboardModalityTracking, resolveMediaAspect, tileColumnsForWidth, tileSizeLadder, useResolvedKnobs, wasKeyboardFocus } from "@multiplatform.one/theme";
6
6
  import { useHotkey } from "@tanstack/react-hotkeys";
7
7
  import { useCallback, useEffect, useId, useRef, useState } from "react";
8
8
  import { useTranslation } from "../shared/i18n.mjs";
@@ -11,12 +11,14 @@ import { jsx, jsxs } from "react/jsx-runtime";
11
11
  function ImageGridSkeleton({
12
12
  columns,
13
13
  cellPadding,
14
+ aspect,
14
15
  loadingLabel
15
16
  }) {
16
17
  return /* @__PURE__ */jsx(XStack, {
17
18
  flexWrap: "wrap",
18
19
  margin: -cellPadding,
19
20
  "data-async-skeleton": "image-grid",
21
+ "data-media-aspect": aspect,
20
22
  "aria-busy": true,
21
23
  "aria-label": loadingLabel,
22
24
  children: Array.from({
@@ -27,7 +29,7 @@ function ImageGridSkeleton({
27
29
  children: /* @__PURE__ */jsx(Skeleton, {
28
30
  variant: "rounded",
29
31
  width: "100%",
30
- aspectRatio: 1
32
+ aspectRatio: aspect
31
33
  })
32
34
  }, i))
33
35
  });
@@ -99,6 +101,8 @@ function ImageGrid({
99
101
  error = null,
100
102
  onRetry,
101
103
  columns: columnsProp,
104
+ tileSize,
105
+ mediaAspect,
102
106
  estimateSize: _estimateSize,
103
107
  overscan: _overscan,
104
108
  height: heightProp,
@@ -114,6 +118,9 @@ function ImageGrid({
114
118
  knobProps
115
119
  } = useResolvedKnobs();
116
120
  const isRTL = useDirection() === "rtl";
121
+ const gapToken = knobProps.gap.gap;
122
+ const gutter = typeof gapToken === "number" ? gapToken : getTokenValue(gapToken, "space") ?? 16;
123
+ const cellPadding = gutter / 2;
117
124
  const {
118
125
  width: windowWidth
119
126
  } = useWindowDimensions();
@@ -124,7 +131,7 @@ function ImageGrid({
124
131
  large: 5,
125
132
  xl: 5
126
133
  };
127
- const columns = columnsProp ?? columnsBySizeClass[getLayoutSizeClass(windowWidth)];
134
+ const columns = columnsProp ?? (tileSize ? tileColumnsForWidth(windowWidth, tileSizeLadder[tileSize], gutter) : columnsBySizeClass[getLayoutSizeClass(windowWidth)]);
128
135
  const height = heightProp;
129
136
  const gridId = useId();
130
137
  const containerRef = useRef(null);
@@ -135,9 +142,6 @@ function ImageGrid({
135
142
  if (!wasKeyboardFocus()) return;
136
143
  setFocusedIndex(prev => prev < 0 ? 0 : prev);
137
144
  }, []);
138
- const gapToken = knobProps.gap.gap;
139
- const gutter = typeof gapToken === "number" ? gapToken : getTokenValue(gapToken, "space") ?? 16;
140
- const cellPadding = gutter / 2;
141
145
  const scrollToIndex = useCallback(index => {
142
146
  if (index >= 0 && index < items.length) {
143
147
  document.getElementById(`${gridId}-item-${index}`)?.scrollIntoView({
@@ -281,6 +285,7 @@ function ImageGrid({
281
285
  loading: !hasError && isLoading && items.length === 0 ? /* @__PURE__ */jsx(ImageGridSkeleton, {
282
286
  columns,
283
287
  cellPadding,
288
+ aspect: resolveMediaAspect(mediaAspect),
284
289
  loadingLabel: t("Loading")
285
290
  }) : false,
286
291
  empty: !hasError && items.length === 0,
@@ -1 +1 @@
1
- {"version":3,"names":["AsyncBoundary","resolveAsyncStatus","Skeleton","useDirection","Spinner","getLayoutSizeClass","keyboardFocusRingProps","ensureKeyboardModalityTracking","useResolvedKnobs","wasKeyboardFocus","useHotkey","useCallback","useEffect","useId","useRef","useState","useTranslation","View","XStack","YStack","getTokenValue","useWindowDimensions","jsx","jsxs","ImageGridSkeleton","columns","cellPadding","loadingLabel","flexWrap","margin","children","Array","from","length","map","_","i","width","padding","variant","aspectRatio","ImageGridTile","id","isFocused","showRing","clickable","colIndex","rowIndex","radius","radiusClassName","onPress","hovered","setHovered","role","position","borderRadius","className","cursor","outlineWidth","onHoverIn","onHoverOut","overflow","inset","pointerEvents","backgroundColor","opacity","ImageGrid","items","renderItem","onItemClick","onLoadMore","hasMore","isLoading","error","onRetry","columnsProp","estimateSize","_estimateSize","overscan","_overscan","height","heightProp","emptyMessage","emptyMessageProp","hotkeys","hotkeyOverrides","stackProps","t","knobProps","isRTL","windowWidth","columnsBySizeClass","compact","medium","expanded","large","xl","gridId","containerRef","sentinelRef","focusedIndex","setFocusedIndex","document","handleContainerFocus","prev","gapToken","gap","gutter","scrollToIndex","index","getElementById","scrollIntoView","block","moveFocus","delta","next","Math","max","min","hotkeyOpts","target","right","left","down","up","activateFocused","select","first","last","IntersectionObserver","el","current","observer","entries","some","entry","isIntersecting","observe","disconnect","hasError","effectiveFocused","showKeyboardRing","rowCount","ceil","gridBody","ref","tabIndex","focusStyle","focusVisibleStyle","onFocus","style","overflowY","onScroll","scrollTop","clientHeight","scrollHeight","row","start","rowItems","slice","item","col","Boolean","alignItems","size","errorTitle","emptyTitle","loading","empty"],"sources":["../../../src/views/ImageGrid.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AsyncBoundary","resolveAsyncStatus","Skeleton","useDirection","Spinner","getLayoutSizeClass","keyboardFocusRingProps","ensureKeyboardModalityTracking","resolveMediaAspect","tileColumnsForWidth","tileSizeLadder","useResolvedKnobs","wasKeyboardFocus","useHotkey","useCallback","useEffect","useId","useRef","useState","useTranslation","View","XStack","YStack","getTokenValue","useWindowDimensions","jsx","jsxs","ImageGridSkeleton","columns","cellPadding","aspect","loadingLabel","flexWrap","margin","children","Array","from","length","map","_","i","width","padding","variant","aspectRatio","ImageGridTile","id","isFocused","showRing","clickable","colIndex","rowIndex","radius","radiusClassName","onPress","hovered","setHovered","role","position","borderRadius","className","cursor","outlineWidth","onHoverIn","onHoverOut","overflow","inset","pointerEvents","backgroundColor","opacity","ImageGrid","items","renderItem","onItemClick","onLoadMore","hasMore","isLoading","error","onRetry","columnsProp","tileSize","mediaAspect","estimateSize","_estimateSize","overscan","_overscan","height","heightProp","emptyMessage","emptyMessageProp","hotkeys","hotkeyOverrides","stackProps","t","knobProps","isRTL","gapToken","gap","gutter","windowWidth","columnsBySizeClass","compact","medium","expanded","large","xl","gridId","containerRef","sentinelRef","focusedIndex","setFocusedIndex","document","handleContainerFocus","prev","scrollToIndex","index","getElementById","scrollIntoView","block","moveFocus","delta","next","Math","max","min","hotkeyOpts","target","right","left","down","up","activateFocused","select","first","last","IntersectionObserver","el","current","observer","entries","some","entry","isIntersecting","observe","disconnect","hasError","effectiveFocused","showKeyboardRing","rowCount","ceil","gridBody","ref","tabIndex","focusStyle","focusVisibleStyle","onFocus","style","overflowY","onScroll","scrollTop","clientHeight","scrollHeight","row","start","rowItems","slice","item","col","Boolean","alignItems","size","errorTitle","emptyTitle","loading","empty"],"sources":["../../../src/views/ImageGrid.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,aAAA,EAAeC,kBAAA,QAA0B;AAClD,SAASC,QAAA,QAAgB;AACzB,SAASC,YAAA,QAAoB;AAC7B,SAASC,OAAA,QAAe;AACxB,SACEC,kBAAA,EACAC,sBAAA,EAIAC,8BAAA,EACAC,kBAAA,EACAC,mBAAA,EACAC,cAAA,EACAC,gBAAA,EACAC,gBAAA,QACK;AACP,SAASC,SAAA,QAAiB;AAE1B,SAAgBC,WAAA,EAAaC,SAAA,EAAWC,KAAA,EAAOC,MAAA,EAAQC,QAAA,QAAgB;AACvE,SAASC,cAAA,QAAsB;AAI/B,SACEC,IAAA,EACAC,MAAA,EACAC,MAAA,EACAC,aAAA,EACAC,mBAAA,QAEK;AA4GG,SAAAC,GAAA,EA2CJC,IAAA,QA3CI;AAvBV,SAASC,kBAAkB;EACzBC,OAAA;EACAC,WAAA;EACAC,MAAA;EACAC;AACF,GAMG;EACD,OACE,eAAAN,GAAA,CAACJ,MAAA;IACCW,QAAA,EAAS;IACTC,MAAA,EAAQ,CAACJ,WAAA;IACT,uBAAoB;IACpB,qBAAmBC,MAAA;IACnB,aAAS;IACT,cAAYC,YAAA;IAEXG,QAAA,EAAAC,KAAA,CAAMC,IAAA,CAAK;MAAEC,MAAA,EAAQT,OAAA,GAAU;IAAE,CAAC,EAAEU,GAAA,CAAI,CAACC,CAAA,EAAGC,CAAA,KAC3C,eAAAf,GAAA,CAACL,IAAA;MAAaqB,KAAA,EAAO,GAAG,MAAMb,OAAO;MAAYc,OAAA,EAASb,WAAA;MACxDK,QAAA,iBAAAT,GAAA,CAACvB,QAAA;QAASyC,OAAA,EAAQ;QAAUF,KAAA,EAAM;QAAOG,WAAA,EAAad;MAAA,CAAQ;IAAA,GADrDU,CAEX,CACD;EAAA,CACH;AAEJ;AAQA,SAASK,cAAc;EACrBC,EAAA;EACAC,SAAA;EACAC,QAAA;EACAC,SAAA;EACApB,WAAA;EACAD,OAAA;EACAsB,QAAA;EACAC,QAAA;EACAC,MAAA;EACAC,eAAA;EACAC,OAAA;EACApB;AACF,GAaG;EACD,MAAM,CAACqB,OAAA,EAASC,UAAU,IAAItC,QAAA,CAAS,KAAK;EAC5C,OACE,eAAAO,GAAA,CAACL,IAAA;IAAKqB,KAAA,EAAO,GAAG,MAAMb,OAAO;IAAYc,OAAA,EAASb,WAAA;IAAa4B,IAAA,EAAK;IAClEvB,QAAA,iBAAAR,IAAA,CAACN,IAAA;MACC0B,EAAA;MAGC,GAAI;QAAEW,IAAA,EAAM;MAAW;MACxB,iBAAeP,QAAA;MACf,iBAAeC,QAAA;MACf,iBAAeJ,SAAA;MACf,gBAAcA,SAAA,IAAa;MAC3BW,QAAA,EAAS;MACTC,YAAA,EAAcP,MAAA;MACb,IAAIC,eAAA,GAAkB;QAAEO,SAAA,EAAWP;MAAgB,IAAI,CAAC;MACzDQ,MAAA,EAAQZ,SAAA,GAAY,YAAY;MAC/B,IAAID,QAAA,GAAW1C,sBAAA,GAAyB;QAAEwD,YAAA,EAAc;MAAE;MAG1D,GAAI;QACHC,SAAA,EAAWA,CAAA,KAAMP,UAAA,CAAW,IAAI;QAChCQ,UAAA,EAAYA,CAAA,KAAMR,UAAA,CAAW,KAAK;MACpC;MACAF,OAAA;MAIApB,QAAA,kBAAAT,GAAA,CAACL,IAAA;QAAKuC,YAAA,EAAcP,MAAA;QAAQa,QAAA,EAAS;QAClC/B;MAAA,CACH,GACCqB,OAAA,IAAW,CAACP,QAAA,GACX,eAAAvB,GAAA,CAACL,IAAA;QACCsC,QAAA,EAAS;QACTQ,KAAA,EAAO;QACPC,aAAA,EAAc;QACdC,eAAA,EAAgB;QAChBC,OAAA,EAAS;QACTV,YAAA,EAAcP;MAAA,CAChB,IACE;IAAA,CACN;EAAA,CACF;AAEJ;AAuBO,SAASkB,UAAa;EAC3BC,KAAA;EACAC,UAAA;EACAC,WAAA;EACAC,UAAA;EACAC,OAAA,GAAU;EACVC,SAAA,GAAY;EACZC,KAAA,GAAQ;EACRC,OAAA;EACAlD,OAAA,EAASmD,WAAA;EACTC,QAAA;EACAC,WAAA;EACAC,YAAA,EAAcC,aAAA;EACdC,QAAA,EAAUC,SAAA;EACVC,MAAA,EAAQC,UAAA;EACRC,YAAA,EAAcC,gBAAA;EACdC,OAAA,EAASC,eAAA;EACT,GAAGC;AACL,GAAsB;EACpB,MAAM;IAAEC;EAAE,IAAI1E,cAAA,CAAe;EAC7B,MAAMqE,YAAA,GAAeC,gBAAA,IAAoBI,CAAA,CAAE,gBAAgB;EAC3D,MAAM;IAAEC;EAAU,IAAInF,gBAAA,CAAiB;EACvC,MAAMoF,KAAA,GAAQ5F,YAAA,CAAa,MAAM;EAKjC,MAAM6F,QAAA,GAAWF,SAAA,CAAUG,GAAA,CAAIA,GAAA;EAC/B,MAAMC,MAAA,GACJ,OAAOF,QAAA,KAAa,WAChBA,QAAA,GACEzE,aAAA,CAAcyE,QAAA,EAAiD,OAAO,KAAgB;EAC9F,MAAMnE,WAAA,GAAcqE,MAAA,GAAS;EAQ7B,MAAM;IAAEzD,KAAA,EAAO0D;EAAY,IAAI3E,mBAAA,CAAoB;EACnD,MAAM4E,kBAAA,GAAsD;IAC1DC,OAAA,EAAS;IACTC,MAAA,EAAQ;IACRC,QAAA,EAAU;IACVC,KAAA,EAAO;IACPC,EAAA,EAAI;EACN;EACA,MAAM7E,OAAA,GACJmD,WAAA,KACCC,QAAA,GACGvE,mBAAA,CAAoB0F,WAAA,EAAazF,cAAA,CAAesE,QAAQ,GAAGkB,MAAM,IACjEE,kBAAA,CAAmB/F,kBAAA,CAAmB8F,WAAW,CAAC;EACxD,MAAMb,MAAA,GAASC,UAAA;EACf,MAAMmB,MAAA,GAAS1F,KAAA,CAAM;EACrB,MAAM2F,YAAA,GAAe1F,MAAA,CAAuB,IAAI;EAChD,MAAM2F,WAAA,GAAc3F,MAAA,CAAuB,IAAI;EAC/C,MAAM,CAAC4F,YAAA,EAAcC,eAAe,IAAI5F,QAAA,CAAS,EAAE;EACnD,IAAI,OAAO6F,QAAA,KAAa,aAAaxG,8BAAA,CAA+B;EACpE,MAAMyG,oBAAA,GAAuBlG,WAAA,CAAY,MAAM;IAC7C,IAAI,CAACF,gBAAA,CAAiB,GAAG;IACzBkG,eAAA,CAAiBG,IAAA,IAAUA,IAAA,GAAO,IAAI,IAAIA,IAAK;EACjD,GAAG,EAAE;EAGL,MAAMC,aAAA,GAAgBpG,WAAA,CACnBqG,KAAA,IAAkB;IACjB,IAAIA,KAAA,IAAS,KAAKA,KAAA,GAAQ5C,KAAA,CAAMlC,MAAA,EAAQ;MACtC0E,QAAA,CAASK,cAAA,CAAe,GAAGV,MAAM,SAASS,KAAK,EAAE,GAAGE,cAAA,CAAe;QAAEC,KAAA,EAAO;MAAU,CAAC;IACzF;EACF,GACA,CAACZ,MAAA,EAAQnC,KAAA,CAAMlC,MAAM,CACvB;EAEA,MAAMkF,SAAA,GAAYzG,WAAA,CACf0G,KAAA,IAAkB;IACjBV,eAAA,CAAiBG,IAAA,IAAS;MACxB,IAAI1C,KAAA,CAAMlC,MAAA,KAAW,GAAG,OAAO4E,IAAA;MAC/B,IAAIA,IAAA,GAAO,GAAG;QACZC,aAAA,CAAc,CAAC;QACf,OAAO;MACT;MACA,MAAMO,IAAA,GAAOC,IAAA,CAAKC,GAAA,CAAI,GAAGD,IAAA,CAAKE,GAAA,CAAIrD,KAAA,CAAMlC,MAAA,GAAS,GAAG4E,IAAA,GAAOO,KAAK,CAAC;MACjEN,aAAA,CAAcO,IAAI;MAClB,OAAOA,IAAA;IACT,CAAC;EACH,GACA,CAAClD,KAAA,CAAMlC,MAAA,EAAQ6E,aAAa,CAC9B;EAKA,MAAMW,UAAA,GAAa;IACjBC,MAAA,EAAQnB;EACV;EAEA9F,SAAA,CAAU8E,eAAA,EAAiBoC,KAAA,IAAS,cAAc,MAAMR,SAAA,CAAUxB,KAAA,GAAQ,KAAK,CAAC,GAAG8B,UAAU;EAC7FhH,SAAA,CAAU8E,eAAA,EAAiBqC,IAAA,IAAQ,aAAa,MAAMT,SAAA,CAAUxB,KAAA,GAAQ,IAAI,EAAE,GAAG8B,UAAU;EAC3FhH,SAAA,CAAU8E,eAAA,EAAiBsC,IAAA,IAAQ,aAAa,MAAMV,SAAA,CAAU3F,OAAO,GAAGiG,UAAU;EACpFhH,SAAA,CAAU8E,eAAA,EAAiBuC,EAAA,IAAM,WAAW,MAAMX,SAAA,CAAU,CAAC3F,OAAO,GAAGiG,UAAU;EAEjF,MAAMM,eAAA,GAAkBrH,WAAA,CAAY,MAAM;IACxC,IAAI+F,YAAA,IAAgB,KAAKA,YAAA,GAAetC,KAAA,CAAMlC,MAAA,EAAQ;MACpDoC,WAAA,GAAcF,KAAA,CAAMsC,YAAY,CAAC;IACnC;EACF,GAAG,CAACA,YAAA,EAActC,KAAA,EAAOE,WAAW,CAAC;EAErC5D,SAAA,CAAU8E,eAAA,EAAiByC,MAAA,IAAU,SAASD,eAAA,EAAiBN,UAAU;EAEzEhH,SAAA,CAAU,SAASsH,eAAA,EAAiBN,UAAU;EAE9ChH,SAAA,CACE8E,eAAA,EAAiB0C,KAAA,IAAS,QAC1B,MAAM;IACJ,IAAI9D,KAAA,CAAMlC,MAAA,KAAW,GAAG;IACxByE,eAAA,CAAgB,CAAC;IACjBI,aAAA,CAAc,CAAC;EACjB,GACAW,UACF;EAEAhH,SAAA,CACE8E,eAAA,EAAiB2C,IAAA,IAAQ,OACzB,MAAM;IACJ,IAAI/D,KAAA,CAAMlC,MAAA,KAAW,GAAG;IACxB,MAAMiG,IAAA,GAAO/D,KAAA,CAAMlC,MAAA,GAAS;IAC5ByE,eAAA,CAAgBwB,IAAI;IACpBpB,aAAA,CAAcoB,IAAI;EACpB,GACAT,UACF;EAMA9G,SAAA,CAAU,MAAM;IACd,IAAIuE,MAAA,KAAW,UAAa,CAACZ,UAAA,IAAc,CAACC,OAAA,IAAWC,SAAA,EAAW;IAClE,IAAI,OAAO2D,oBAAA,KAAyB,aAAa;IACjD,MAAMC,EAAA,GAAK5B,WAAA,CAAY6B,OAAA;IACvB,IAAI,CAACD,EAAA,EAAI;IACT,MAAME,QAAA,GAAW,IAAIH,oBAAA,CAAsBI,OAAA,IAAY;MACrD,IAAIA,OAAA,CAAQC,IAAA,CAAMC,KAAA,IAAUA,KAAA,CAAMC,cAAc,GAAGpE,UAAA,CAAW;IAChE,CAAC;IACDgE,QAAA,CAASK,OAAA,CAAQP,EAAE;IACnB,OAAO,MAAME,QAAA,CAASM,UAAA,CAAW;EACnC,GAAG,CAAC1D,MAAA,EAAQZ,UAAA,EAAYC,OAAA,EAASC,SAAS,CAAC;EAG3C,MAAMqE,QAAA,GAAWhJ,kBAAA,CAAmB;IAAE4E;EAAM,CAAC,MAAM;EAGnD,MAAMqE,gBAAA,GAAmBrC,YAAA,IAAgBtC,KAAA,CAAMlC,MAAA,GAAS,KAAKwE,YAAA;EAC7D,MAAMsC,gBAAA,GAAmBD,gBAAA,IAAoB,KAAKtI,gBAAA,CAAiB;EACnE,MAAMwI,QAAA,GAAW1B,IAAA,CAAK2B,IAAA,CAAK9E,KAAA,CAAMlC,MAAA,GAAST,OAAO;EACjD,MAAMwB,MAAA,GAAS0C,SAAA,CAAUnC,YAAA,CAAaA,YAAA;EACtC,MAAMN,eAAA,GAAkByC,SAAA,CAAUnC,YAAA,CAAaC,SAAA;EAE/C,MAAM0F,QAAA,GACJ/E,KAAA,CAAMlC,MAAA,KAAW,IAAI,OACnB,eAAAX,IAAA,CAACN,IAAA;IACCmI,GAAA,EAAK5C,YAAA;IACLlD,IAAA,EAAK;IACL,cAAYoC,CAAA,CAAE,YAAY;IAC1B,iBAAejE,OAAA;IACf,iBAAewH,QAAA;IACf,yBACEF,gBAAA,IAAoB,IAAI,GAAGxC,MAAM,SAASwC,gBAAgB,KAAK;IAEjEM,QAAA,EAAU;IACV1F,YAAA,EAAc;IACd2F,UAAA,EAAY;MAAE3F,YAAA,EAAc;IAAE;IAC9B4F,iBAAA,EAAmB;MAAE5F,YAAA,EAAc;IAAE;IACrC6F,OAAA,EAAS3C,oBAAA;IACR,IAAI1B,MAAA,KAAW,SACZ;MACEsE,KAAA,EAAO;QAAEtE,MAAA;QAAQuE,SAAA,EAAW;MAAO;MACnCC,QAAA,EACEpF,UAAA,IAAcC,OAAA,IAAW,CAACC,SAAA,GACtB,MAAM;QACJ,MAAM4D,EAAA,GAAK7B,YAAA,CAAa8B,OAAA;QACxB,IAAID,EAAA,IAAMA,EAAA,CAAGuB,SAAA,GAAYvB,EAAA,CAAGwB,YAAA,IAAgBxB,EAAA,CAAGyB,YAAA,GAAe,IAAI;UAChEvF,UAAA,CAAW;QACb;MACF,IACA;IACR,IACA;IAEJxC,QAAA,kBAAAT,GAAA,CAACH,MAAA;MAAOW,MAAA,EAAQ,CAACJ,WAAA;MACdK,QAAA,EAAAC,KAAA,CAAMC,IAAA,CAAK;QAAEC,MAAA,EAAQ+G;MAAS,GAAG,CAAC7G,CAAA,EAAG2H,GAAA,KAAQ;QAC5C,MAAMC,KAAA,GAAQD,GAAA,GAAMtI,OAAA;QACpB,MAAMwI,QAAA,GAAW7F,KAAA,CAAM8F,KAAA,CAAMF,KAAA,EAAOA,KAAA,GAAQvI,OAAO;QACnD,OACE,eAAAH,GAAA,CAACJ,MAAA;UAAoCoC,IAAA,EAAK;UACvCvB,QAAA,EAAAkI,QAAA,CAAS9H,GAAA,CAAI,CAACgI,IAAA,EAAMC,GAAA,KAAQ;YAC3B,MAAMpD,KAAA,GAAQgD,KAAA,GAAQI,GAAA;YACtB,MAAMxH,SAAA,GAAYmG,gBAAA,KAAqB/B,KAAA;YACvC,OACE,eAAA1F,GAAA,CAACoB,aAAA;cAECC,EAAA,EAAI,GAAG4D,MAAM,SAASS,KAAK;cAC3BpE,SAAA;cACAC,QAAA,EAAUD,SAAA,IAAaoG,gBAAA;cACvBlG,SAAA,EAAWuH,OAAA,CAAQ/F,WAAW;cAC9B5C,WAAA;cACAD,OAAA;cACAsB,QAAA,EAAUqH,GAAA,GAAM;cAChBpH,QAAA,EAAU+G,GAAA,GAAM;cAChB9G,MAAA;cACAC,eAAA;cACAC,OAAA,EACEmB,WAAA,GACI,MAAM;gBACJqC,eAAA,CAAgBK,KAAK;gBACrB1C,WAAA,CAAY6F,IAAI;cAClB,IACA;cAGLpI,QAAA,EAAAsC,UAAA,CAAW8F,IAAI;YAAA,GApBX,GAAG5D,MAAM,SAASS,KAAK,EAqB9B;UAEJ,CAAC;QAAA,GA7BU,GAAGT,MAAM,QAAQwD,GAAG,EA8BjC;MAEJ,CAAC;IAAA,CACH,GACCtF,SAAA,IAAaL,KAAA,CAAMlC,MAAA,GAAS,KAC3B,eAAAZ,GAAA,CAACH,MAAA;MAAOoB,OAAA,EAAQ;MAAK+H,UAAA,EAAW;MAC9BvI,QAAA,iBAAAT,GAAA,CAACrB,OAAA;QAAQsK,IAAA,EAAK;MAAA,CAAQ;IAAA,CACxB,GAEF,eAAAjJ,GAAA,CAACL,IAAA;MAAKmI,GAAA,EAAK3C,WAAA;MAAoBtB,MAAA,EAAQ;IAAA,CAAG;EAAA,CAC5C;EAIJ,OACE,eAAA7D,GAAA,CAACzB,aAAA;IACCqG,OAAA,EAAO;IACPxB,KAAA;IACAC,OAAA;IACA6F,UAAA,EAAY9E,CAAA,CAAE,sBAAsB;IACpC+E,UAAA,EAAYpF,YAAA;IACZqF,OAAA,EACE,CAAC5B,QAAA,IAAYrE,SAAA,IAAaL,KAAA,CAAMlC,MAAA,KAAW,IACzC,eAAAZ,GAAA,CAACE,iBAAA;MACCC,OAAA;MACAC,WAAA;MACAC,MAAA,EAAQtB,kBAAA,CAAmByE,WAAW;MACtClD,YAAA,EAAc8D,CAAA,CAAE,SAAS;IAAA,CAC3B,IAEA;IAGJiF,KAAA,EAAO,CAAC7B,QAAA,IAAY1E,KAAA,CAAMlC,MAAA,KAAW;IACpC,GAAGuD,UAAA;IAEH1D,QAAA,EAAAoH;EAAA,CACH;AAEJ","ignoreList":[]}
@@ -52,12 +52,14 @@ function ImageGridSkeleton(param) {
52
52
  var {
53
53
  columns,
54
54
  cellPadding,
55
+ aspect,
55
56
  loadingLabel
56
57
  } = param;
57
58
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
58
59
  flexWrap: "wrap",
59
60
  margin: -cellPadding,
60
61
  "data-async-skeleton": "image-grid",
62
+ "data-media-aspect": aspect,
61
63
  "aria-busy": true,
62
64
  "aria-label": loadingLabel,
63
65
  children: Array.from({
@@ -69,7 +71,7 @@ function ImageGridSkeleton(param) {
69
71
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Skeleton.Skeleton, {
70
72
  variant: "rounded",
71
73
  width: "100%",
72
- aspectRatio: 1
74
+ aspectRatio: aspect
73
75
  })
74
76
  }, i);
75
77
  })
@@ -156,6 +158,8 @@ function ImageGrid(param) {
156
158
  error = null,
157
159
  onRetry,
158
160
  columns: columnsProp,
161
+ tileSize,
162
+ mediaAspect,
159
163
  estimateSize: _estimateSize,
160
164
  overscan: _overscan,
161
165
  height: heightProp,
@@ -172,6 +176,9 @@ function ImageGrid(param) {
172
176
  knobProps
173
177
  } = (0, import_theme.useResolvedKnobs)();
174
178
  var isRTL = (0, import_useDirection.useDirection)() === "rtl";
179
+ var gapToken = knobProps.gap.gap;
180
+ var gutter = typeof gapToken === "number" ? gapToken : (_getTokenValue = (0, import_tamagui.getTokenValue)(gapToken, "space")) !== null && _getTokenValue !== void 0 ? _getTokenValue : 16;
181
+ var cellPadding = gutter / 2;
175
182
  var {
176
183
  width: windowWidth
177
184
  } = (0, import_tamagui.useWindowDimensions)();
@@ -182,7 +189,7 @@ function ImageGrid(param) {
182
189
  large: 5,
183
190
  xl: 5
184
191
  };
185
- var columns = columnsProp !== null && columnsProp !== void 0 ? columnsProp : columnsBySizeClass[(0, import_theme.getLayoutSizeClass)(windowWidth)];
192
+ var columns = columnsProp !== null && columnsProp !== void 0 ? columnsProp : tileSize ? (0, import_theme.tileColumnsForWidth)(windowWidth, import_theme.tileSizeLadder[tileSize], gutter) : columnsBySizeClass[(0, import_theme.getLayoutSizeClass)(windowWidth)];
186
193
  var height = heightProp;
187
194
  var gridId = (0, import_react.useId)();
188
195
  var containerRef = (0, import_react.useRef)(null);
@@ -195,9 +202,6 @@ function ImageGrid(param) {
195
202
  return prev < 0 ? 0 : prev;
196
203
  });
197
204
  }, []);
198
- var gapToken = knobProps.gap.gap;
199
- var gutter = typeof gapToken === "number" ? gapToken : (_getTokenValue = (0, import_tamagui.getTokenValue)(gapToken, "space")) !== null && _getTokenValue !== void 0 ? _getTokenValue : 16;
200
- var cellPadding = gutter / 2;
201
205
  var scrollToIndex = (0, import_react.useCallback)(function (index) {
202
206
  if (index >= 0 && index < items.length) {
203
207
  var _document_getElementById;
@@ -354,6 +358,7 @@ function ImageGrid(param) {
354
358
  loading: !hasError && isLoading && items.length === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(ImageGridSkeleton, {
355
359
  columns,
356
360
  cellPadding,
361
+ aspect: (0, import_theme.resolveMediaAspect)(mediaAspect),
357
362
  loadingLabel: t("Loading")
358
363
  }) : false,
359
364
  empty: !hasError && items.length === 0,
@@ -1 +1 @@
1
- {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","ImageGrid_exports","ImageGrid","module","exports","import_jsx_runtime","require","import_AsyncBoundary","import_Skeleton","import_useDirection","import_forms","import_theme","import_react_hotkeys","import_react","import_i18n","import_tamagui","ImageGridSkeleton","param","columns","cellPadding","loadingLabel","jsx","XStack","flexWrap","margin","children","Array","length","map","_","i","View","width","padding","Skeleton","variant","aspectRatio","ImageGridTile","id","isFocused","showRing","clickable","colIndex","rowIndex","radius","radiusClassName","onPress","hovered","setHovered","useState","role","jsxs","position","borderRadius","className","cursor","keyboardFocusRingProps","outlineWidth","onHoverIn","onHoverOut","overflow","inset","pointerEvents","backgroundColor","opacity","items","renderItem","onItemClick","onLoadMore","hasMore","isLoading","error","onRetry","columnsProp","estimateSize","_estimateSize","overscan","_overscan","height","heightProp","emptyMessage","emptyMessageProp","hotkeys","hotkeyOverrides","stackProps","_getTokenValue","_ref","_ref1","_ref2","_ref3","_ref4","_ref5","_ref6","t","useTranslation","knobProps","useResolvedKnobs","isRTL","useDirection","windowWidth","useWindowDimensions","columnsBySizeClass","compact","medium","expanded","large","xl","getLayoutSizeClass","gridId","useId","containerRef","useRef","sentinelRef","focusedIndex","setFocusedIndex","document","ensureKeyboardModalityTracking","handleContainerFocus","useCallback","wasKeyboardFocus","prev","gapToken","gap","gutter","getTokenValue","scrollToIndex","index","_document_getElementById","getElementById","scrollIntoView","block","moveFocus","delta","next","Math","max","min","hotkeyOpts","useHotkey","right","left","down","up","activateFocused","select","first","last","useEffect","IntersectionObserver","el","current","observer","entries","some","entry","isIntersecting","observe","disconnect","hasError","resolveAsyncStatus","effectiveFocused","showKeyboardRing","rowCount","ceil","gridBody","ref","tabIndex","focusStyle","focusVisibleStyle","onFocus","style","overflowY","onScroll","scrollTop","clientHeight","scrollHeight","YStack","row","start","rowItems","slice","item","col"],"sources":["../../../src/views/ImageGrid.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","ImageGrid_exports","ImageGrid","module","exports","import_jsx_runtime","require","import_AsyncBoundary","import_Skeleton","import_useDirection","import_forms","import_theme","import_react_hotkeys","import_react","import_i18n","import_tamagui","ImageGridSkeleton","param","columns","cellPadding","aspect","loadingLabel","jsx","XStack","flexWrap","margin","children","Array","length","map","_","i","View","width","padding","Skeleton","variant","aspectRatio","ImageGridTile","id","isFocused","showRing","clickable","colIndex","rowIndex","radius","radiusClassName","onPress","hovered","setHovered","useState","role","jsxs","position","borderRadius","className","cursor","keyboardFocusRingProps","outlineWidth","onHoverIn","onHoverOut","overflow","inset","pointerEvents","backgroundColor","opacity","items","renderItem","onItemClick","onLoadMore","hasMore","isLoading","error","onRetry","columnsProp","tileSize","mediaAspect","estimateSize","_estimateSize","overscan","_overscan","height","heightProp","emptyMessage","emptyMessageProp","hotkeys","hotkeyOverrides","stackProps","_getTokenValue","_ref","_ref1","_ref2","_ref3","_ref4","_ref5","_ref6","t","useTranslation","knobProps","useResolvedKnobs","isRTL","useDirection","gapToken","gap","gutter","getTokenValue","windowWidth","useWindowDimensions","columnsBySizeClass","compact","medium","expanded","large","xl","tileColumnsForWidth","tileSizeLadder","getLayoutSizeClass","gridId","useId","containerRef","useRef","sentinelRef","focusedIndex","setFocusedIndex","document","ensureKeyboardModalityTracking","handleContainerFocus","useCallback","wasKeyboardFocus","prev","scrollToIndex","index","_document_getElementById","getElementById","scrollIntoView","block","moveFocus","delta","next","Math","max","min","hotkeyOpts","useHotkey","right","left","down","up","activateFocused","select","first","last","useEffect","IntersectionObserver","el","current","observer","entries","some","entry","isIntersecting","observe","disconnect","hasError","resolveAsyncStatus","effectiveFocused","showKeyboardRing","rowCount","ceil","gridBody","ref","tabIndex","focusStyle","focusVisibleStyle","onFocus","style","overflowY","onScroll","scrollTop","clientHeight","scrollHeight","YStack","row","start","rowItems","slice","item","col","Boolean"],"sources":["../../../src/views/ImageGrid.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/components",
3
- "version": "7.2.2",
3
+ "version": "7.4.0",
4
4
  "description": "multiplatform.one ui components",
5
5
  "keywords": [
6
6
  "components",
@@ -74,11 +74,11 @@
74
74
  "link": "^2.1.2",
75
75
  "shiki": "^4.0.2",
76
76
  "tamagui": "2.7.6",
77
- "@multiplatform.one/forms": "7.2.2",
78
- "@multiplatform.one/i18n": "7.2.2",
79
- "@multiplatform.one/platform": "7.2.2",
80
- "@multiplatform.one/router": "7.2.2",
81
- "@multiplatform.one/theme": "7.2.2"
77
+ "@multiplatform.one/forms": "7.4.0",
78
+ "@multiplatform.one/i18n": "7.4.0",
79
+ "@multiplatform.one/platform": "7.4.0",
80
+ "@multiplatform.one/router": "7.4.0",
81
+ "@multiplatform.one/theme": "7.4.0"
82
82
  },
83
83
  "devDependencies": {
84
84
  "@tamagui/build": "2.7.6",
@@ -96,9 +96,9 @@
96
96
  "react-native-svg": "15.15.4",
97
97
  "react-native-web": "^0.21.2",
98
98
  "vitest": "^4.1.5",
99
- "@multiplatform.one/config": "7.2.2",
100
- "@multiplatform.one/storybook": "7.2.2",
101
- "@multiplatform.one/test-utils": "7.2.2"
99
+ "@multiplatform.one/config": "7.4.0",
100
+ "@multiplatform.one/storybook": "7.4.0",
101
+ "@multiplatform.one/test-utils": "7.4.0"
102
102
  },
103
103
  "peerDependencies": {
104
104
  "@mdx-js/mdx": "^3.1.1",
@@ -354,11 +354,12 @@ describe("Carousel LC-71 ring anatomy, size recipes, 44px floor", () => {
354
354
  const visual = arrowVisual(container, "next");
355
355
  expect(next).toBeTruthy();
356
356
  expect(visual).toBeTruthy();
357
- // LC-75: arrow chrome follows the size recipe (desktop $4 height 32),
358
- // not the flat token ramp ($4 = 44). The press target keeps the 44 floor.
357
+ // LC-75: arrow chrome follows the size recipe. Since MPO-13 the desktop
358
+ // $4 recipe is the measured Tamagui 44, so visual and press target
359
+ // coincide at the floor (touch lifts the recipe to 48).
359
360
  const recipe = sizeRecipeForToken("$4", { touch: isTouchSurface() });
360
- expect(recipe.height).toBe(32);
361
- expect(elementCarriesWidth(next!, 44)).toBe(true);
361
+ expect(recipe.height).toBe(isTouchSurface() ? 48 : 44);
362
+ expect(elementCarriesWidth(next!, Math.max(recipe.height, 44))).toBe(true);
362
363
  expect(elementCarriesWidth(visual!, recipe.height)).toBe(true);
363
364
  expect(next!.className).toContain("mp-carousel-arrow");
364
365
  expect(visual!.className).toContain("mp-carousel-arrow-visual");
@@ -2,7 +2,7 @@
2
2
  * PaneScaffold + canonical layouts (DG-LAY-02) — W11.
3
3
  *
4
4
  * Devs declare pane roles; the scaffold picks 1 vs 2 columns from the
5
- * canonical layout size class (`expanded` @ 860 = FloatingPanel pivot).
5
+ * canonical layout size class (`expanded` @ 860 = two-pane budget).
6
6
  *
7
7
  * Split geometry follows Linear / VS Code / Polaris Frame: flush panes, a
8
8
  * device-pixel hairline at the seam (Axiom 15), and an optional sash
@@ -6,7 +6,12 @@ import {
6
6
  getLayoutSizeClass,
7
7
  keyboardFocusRingProps,
8
8
  type LayoutSizeClass,
9
+ type MediaAspect,
10
+ type TileSizeRung,
9
11
  ensureKeyboardModalityTracking,
12
+ resolveMediaAspect,
13
+ tileColumnsForWidth,
14
+ tileSizeLadder,
10
15
  useResolvedKnobs,
11
16
  wasKeyboardFocus,
12
17
  } from "@multiplatform.one/theme";
@@ -73,6 +78,21 @@ export interface ImageGridProps<T> extends Omit<YStackProps, "children"> {
73
78
  onRetry?: () => void;
74
79
  /** Number of columns in the grid (default: responsive to window width, 2-5) */
75
80
  columns?: number;
81
+ /**
82
+ * Named tile-size rung from the theme's generated ladder (MPO-31). Column
83
+ * count derives from the rung's minWidth and the live gutter, so a
84
+ * user-facing S/M/L/XL control maps straight onto this prop. WHICH rung is
85
+ * the app's choice; the rung VALUES are the design system's. An explicit
86
+ * `columns` wins over `tileSize`.
87
+ */
88
+ tileSize?: TileSizeRung;
89
+ /**
90
+ * Media aspect ratio (width/height) of the tiles — a named aspect
91
+ * (`"square" | "photo" | "screen" | "video" | "portrait"`) or a number
92
+ * (MPO-31 H2). The loading skeleton twin renders at this aspect so
93
+ * non-square media does not jump on load. Default: `"square"`.
94
+ */
95
+ mediaAspect?: MediaAspect;
76
96
  /** Estimated height of each row in pixels (default: 240) */
77
97
  estimateSize?: number;
78
98
  /** Number of rows to render outside visible area (default: 3) */
@@ -97,10 +117,13 @@ export interface ImageGridProps<T> extends Omit<YStackProps, "children"> {
97
117
  function ImageGridSkeleton({
98
118
  columns,
99
119
  cellPadding,
120
+ aspect,
100
121
  loadingLabel,
101
122
  }: {
102
123
  columns: number;
103
124
  cellPadding: number;
125
+ /** Resolved width/height ratio — the twin must be the media's shape (MPO-31 H2). */
126
+ aspect: number;
104
127
  loadingLabel: string;
105
128
  }) {
106
129
  return (
@@ -108,12 +131,13 @@ function ImageGridSkeleton({
108
131
  flexWrap="wrap"
109
132
  margin={-cellPadding}
110
133
  data-async-skeleton="image-grid"
134
+ data-media-aspect={aspect}
111
135
  aria-busy
112
136
  aria-label={loadingLabel}
113
137
  >
114
138
  {Array.from({ length: columns * 2 }).map((_, i) => (
115
139
  <View key={i} width={`${100 / columns}%` as any} padding={cellPadding}>
116
- <Skeleton variant="rounded" width="100%" aspectRatio={1} />
140
+ <Skeleton variant="rounded" width="100%" aspectRatio={aspect} />
117
141
  </View>
118
142
  ))}
119
143
  </XStack>
@@ -229,6 +253,8 @@ export function ImageGrid<T>({
229
253
  error = null,
230
254
  onRetry,
231
255
  columns: columnsProp,
256
+ tileSize,
257
+ mediaAspect,
232
258
  estimateSize: _estimateSize,
233
259
  overscan: _overscan,
234
260
  height: heightProp,
@@ -240,10 +266,23 @@ export function ImageGrid<T>({
240
266
  const emptyMessage = emptyMessageProp ?? t("No items found");
241
267
  const { knobProps } = useResolvedKnobs();
242
268
  const isRTL = useDirection() === "rtl";
269
+ // Flex `gap` on a single-child cell wrapper is a no-op, so gutters come
270
+ // from half-gutter padding on every cell (works on web and native — no
271
+ // CSS calc). The negative margin on the wrap container pulls the outer
272
+ // cells flush with the surrounding content.
273
+ const gapToken = knobProps.gap.gap;
274
+ const gutter =
275
+ typeof gapToken === "number"
276
+ ? gapToken
277
+ : ((getTokenValue(gapToken as Parameters<typeof getTokenValue>[0], "space") as number) ?? 16);
278
+ const cellPadding = gutter / 2;
279
+
243
280
  // Responsive default: a fixed count that looks right on desktop renders
244
- // skinny slivers on a phone. Explicit `columns` always wins. Column count
245
- // is a structural layout decision, so it consumes the canonical layout
246
- // size classes (LC-28 / DG-LAY-01) instead of a raw pixel ladder.
281
+ // skinny slivers on a phone. Explicit `columns` always wins; a `tileSize`
282
+ // rung derives the count from the theme's generated ladder (MPO-31) at the
283
+ // live gutter. Otherwise column count is a structural layout decision, so
284
+ // it consumes the canonical layout size classes (LC-28 / DG-LAY-01)
285
+ // instead of a raw pixel ladder.
247
286
  const { width: windowWidth } = useWindowDimensions();
248
287
  const columnsBySizeClass: Record<LayoutSizeClass, number> = {
249
288
  compact: 2,
@@ -252,7 +291,11 @@ export function ImageGrid<T>({
252
291
  large: 5,
253
292
  xl: 5,
254
293
  };
255
- const columns = columnsProp ?? columnsBySizeClass[getLayoutSizeClass(windowWidth)];
294
+ const columns =
295
+ columnsProp ??
296
+ (tileSize
297
+ ? tileColumnsForWidth(windowWidth, tileSizeLadder[tileSize], gutter)
298
+ : columnsBySizeClass[getLayoutSizeClass(windowWidth)]);
256
299
  const height = heightProp;
257
300
  const gridId = useId();
258
301
  const containerRef = useRef<HTMLDivElement>(null);
@@ -264,17 +307,6 @@ export function ImageGrid<T>({
264
307
  setFocusedIndex((prev) => (prev < 0 ? 0 : prev));
265
308
  }, []);
266
309
 
267
- // Flex `gap` on a single-child cell wrapper is a no-op, so gutters come
268
- // from half-gutter padding on every cell (works on web and native — no
269
- // CSS calc). The negative margin on the wrap container pulls the outer
270
- // cells flush with the surrounding content.
271
- const gapToken = knobProps.gap.gap;
272
- const gutter =
273
- typeof gapToken === "number"
274
- ? gapToken
275
- : ((getTokenValue(gapToken as Parameters<typeof getTokenValue>[0], "space") as number) ?? 16);
276
- const cellPadding = gutter / 2;
277
-
278
310
  // Scroll to focused item using DOM scrollIntoView
279
311
  const scrollToIndex = useCallback(
280
312
  (index: number) => {
@@ -462,6 +494,7 @@ export function ImageGrid<T>({
462
494
  <ImageGridSkeleton
463
495
  columns={columns}
464
496
  cellPadding={cellPadding}
497
+ aspect={resolveMediaAspect(mediaAspect)}
465
498
  loadingLabel={t("Loading")}
466
499
  />
467
500
  ) : (
@@ -2,7 +2,7 @@
2
2
  * PaneScaffold + canonical layouts (DG-LAY-02) — W11.
3
3
  *
4
4
  * Devs declare pane roles; the scaffold picks 1 vs 2 columns from the
5
- * canonical layout size class (`expanded` @ 860 = FloatingPanel pivot).
5
+ * canonical layout size class (`expanded` @ 860 = two-pane budget).
6
6
  *
7
7
  * Split geometry follows Linear / VS Code / Polaris Frame: flush panes, a
8
8
  * device-pixel hairline at the seam (Axiom 15), and an optional sash
@@ -1,3 +1,4 @@
1
+ import { type MediaAspect, type TileSizeRung } from "@multiplatform.one/theme";
1
2
  import type { RegisterableHotkey } from "@tanstack/react-hotkeys";
2
3
  import React from "react";
3
4
  import { type YStackProps } from "tamagui";
@@ -47,6 +48,21 @@ export interface ImageGridProps<T> extends Omit<YStackProps, "children"> {
47
48
  onRetry?: () => void;
48
49
  /** Number of columns in the grid (default: responsive to window width, 2-5) */
49
50
  columns?: number;
51
+ /**
52
+ * Named tile-size rung from the theme's generated ladder (MPO-31). Column
53
+ * count derives from the rung's minWidth and the live gutter, so a
54
+ * user-facing S/M/L/XL control maps straight onto this prop. WHICH rung is
55
+ * the app's choice; the rung VALUES are the design system's. An explicit
56
+ * `columns` wins over `tileSize`.
57
+ */
58
+ tileSize?: TileSizeRung;
59
+ /**
60
+ * Media aspect ratio (width/height) of the tiles — a named aspect
61
+ * (`"square" | "photo" | "screen" | "video" | "portrait"`) or a number
62
+ * (MPO-31 H2). The loading skeleton twin renders at this aspect so
63
+ * non-square media does not jump on load. Default: `"square"`.
64
+ */
65
+ mediaAspect?: MediaAspect;
50
66
  /** Estimated height of each row in pixels (default: 240) */
51
67
  estimateSize?: number;
52
68
  /** Number of rows to render outside visible area (default: 3) */
@@ -82,5 +98,5 @@ export interface ImageGridProps<T> extends Omit<YStackProps, "children"> {
82
98
  * />
83
99
  * ```
84
100
  */
85
- export declare function ImageGrid<T>({ items, renderItem, onItemClick, onLoadMore, hasMore, isLoading, error, onRetry, columns: columnsProp, estimateSize: _estimateSize, overscan: _overscan, height: heightProp, emptyMessage: emptyMessageProp, hotkeys: hotkeyOverrides, ...stackProps }: ImageGridProps<T>): import("react/jsx-runtime").JSX.Element;
101
+ export declare function ImageGrid<T>({ items, renderItem, onItemClick, onLoadMore, hasMore, isLoading, error, onRetry, columns: columnsProp, tileSize, mediaAspect, estimateSize: _estimateSize, overscan: _overscan, height: heightProp, emptyMessage: emptyMessageProp, hotkeys: hotkeyOverrides, ...stackProps }: ImageGridProps<T>): import("react/jsx-runtime").JSX.Element;
86
102
  //# sourceMappingURL=ImageGrid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageGrid.d.ts","sourceRoot":"","sources":["../../src/views/ImageGrid.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAA0D,MAAM,OAAO,CAAC;AAK/E,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACxB,mDAAmD;IACnD,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,sDAAsD;IACtD,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,wDAAwD;IACxD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,mDAAmD;IACnD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,iDAAiD;IACjD,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IACtE,+BAA+B;IAC/B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,yCAAyC;IACzC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACzC,qCAAqC;IACrC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAChC,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oGAAoG;IACpG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1D,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAgHD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAC3B,KAAK,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,OAAe,EACf,SAAiB,EACjB,KAAY,EACZ,OAAO,EACP,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,aAAa,EAC3B,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,gBAAgB,EAC9B,OAAO,EAAE,eAAe,EACxB,GAAG,UAAU,EACd,EAAE,cAAc,CAAC,CAAC,CAAC,2CA+OnB"}
1
+ {"version":3,"file":"ImageGrid.d.ts","sourceRoot":"","sources":["../../src/views/ImageGrid.tsx"],"names":[],"mappings":"AAIA,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,YAAY,EAOlB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAA0D,MAAM,OAAO,CAAC;AAK/E,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACxB,mDAAmD;IACnD,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,sDAAsD;IACtD,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,wDAAwD;IACxD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,mDAAmD;IACnD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,iDAAiD;IACjD,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IACtE,+BAA+B;IAC/B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,yCAAyC;IACzC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACzC,qCAAqC;IACrC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAChC,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oGAAoG;IACpG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1D,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAoHD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAC3B,KAAK,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,OAAe,EACf,SAAiB,EACjB,KAAY,EACZ,OAAO,EACP,OAAO,EAAE,WAAW,EACpB,QAAQ,EACR,WAAW,EACX,YAAY,EAAE,aAAa,EAC3B,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,gBAAgB,EAC9B,OAAO,EAAE,eAAe,EACxB,GAAG,UAAU,EACd,EAAE,cAAc,CAAC,CAAC,CAAC,2CAsPnB"}