@multiplatform.one/theme 7.88.4 → 7.88.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/theme/layoutTokens.cjs +13 -2
- package/dist/cjs/theme/layoutTokens.native.js +16 -2
- package/dist/cjs/theme/layoutTokens.native.js.map +1 -1
- package/dist/esm/theme/layoutTokens.mjs +12 -4
- package/dist/esm/theme/layoutTokens.mjs.map +1 -1
- package/dist/esm/theme/layoutTokens.native.js +15 -4
- package/dist/esm/theme/layoutTokens.native.js.map +1 -1
- package/package.json +5 -5
- package/src/theme/layoutTokens.spec.ts +21 -0
- package/src/theme/layoutTokens.ts +31 -4
- package/src/theme/sheetElevation.spec.ts +61 -0
- package/types/theme/layoutTokens.d.ts +15 -3
- package/types/theme/layoutTokens.d.ts.map +1 -1
|
@@ -32,7 +32,9 @@ __export(layoutTokens_exports, {
|
|
|
32
32
|
OVERLAY_ANCHOR_GAP: () => OVERLAY_ANCHOR_GAP,
|
|
33
33
|
OVERLAY_ATTACH_GAP: () => OVERLAY_ATTACH_GAP,
|
|
34
34
|
OVERLAY_BREAKPOINT: () => OVERLAY_BREAKPOINT,
|
|
35
|
+
READING_WIDTH_BODY_FALLBACK: () => READING_WIDTH_BODY_FALLBACK,
|
|
35
36
|
READING_WIDTH_CH: () => READING_WIDTH_CH,
|
|
37
|
+
READING_WIDTH_CH_EM: () => READING_WIDTH_CH_EM,
|
|
36
38
|
READING_WIDTH_MAX_CH: () => READING_WIDTH_MAX_CH,
|
|
37
39
|
READING_WIDTH_MIN_CH: () => READING_WIDTH_MIN_CH,
|
|
38
40
|
defaultMaxPanes: () => defaultMaxPanes,
|
|
@@ -45,6 +47,7 @@ __export(layoutTokens_exports, {
|
|
|
45
47
|
readingWidthStyle: () => readingWidthStyle,
|
|
46
48
|
useLayoutSizeClass: () => useLayoutSizeClass,
|
|
47
49
|
useMultiPane: () => useMultiPane,
|
|
50
|
+
useReadingWidthStyle: () => useReadingWidthStyle,
|
|
48
51
|
useSemanticGaps: () => useSemanticGaps
|
|
49
52
|
});
|
|
50
53
|
module.exports = __toCommonJS(layoutTokens_exports);
|
|
@@ -127,14 +130,22 @@ function useMultiPane(maxPanes) {
|
|
|
127
130
|
const READING_WIDTH_CH = 70;
|
|
128
131
|
const READING_WIDTH_MIN_CH = 65;
|
|
129
132
|
const READING_WIDTH_MAX_CH = 75;
|
|
130
|
-
|
|
133
|
+
const READING_WIDTH_CH_EM = 0.5;
|
|
134
|
+
const READING_WIDTH_BODY_FALLBACK = 16;
|
|
135
|
+
function readingWidthStyle(measure = READING_WIDTH_CH, web = import_tamagui.isWeb, bodyFontSize = READING_WIDTH_BODY_FALLBACK) {
|
|
131
136
|
if (measure === "none" || measure === null) return {};
|
|
132
137
|
const ch = Math.min(READING_WIDTH_MAX_CH, Math.max(READING_WIDTH_MIN_CH, measure));
|
|
133
138
|
return {
|
|
134
|
-
maxWidth: `${ch}ch
|
|
139
|
+
maxWidth: web ? `${ch}ch` : Math.round(ch * READING_WIDTH_CH_EM * bodyFontSize),
|
|
135
140
|
width: "100%"
|
|
136
141
|
};
|
|
137
142
|
}
|
|
143
|
+
function useReadingWidthStyle(measure = READING_WIDTH_CH) {
|
|
144
|
+
const bodyFontSize = import_tamagui.isWeb ? READING_WIDTH_BODY_FALLBACK : (0, import_tamagui.getFontSize)("$true", {
|
|
145
|
+
font: "$body"
|
|
146
|
+
});
|
|
147
|
+
return readingWidthStyle(measure, import_tamagui.isWeb, bodyFontSize);
|
|
148
|
+
}
|
|
138
149
|
const FORM_READABLE_WIDTH = 560;
|
|
139
150
|
const FORM_READABLE_WIDTH_MIN = 480;
|
|
140
151
|
const FORM_READABLE_WIDTH_MAX = 640;
|
|
@@ -34,7 +34,9 @@ __export(layoutTokens_exports, {
|
|
|
34
34
|
OVERLAY_ANCHOR_GAP: () => OVERLAY_ANCHOR_GAP,
|
|
35
35
|
OVERLAY_ATTACH_GAP: () => OVERLAY_ATTACH_GAP,
|
|
36
36
|
OVERLAY_BREAKPOINT: () => OVERLAY_BREAKPOINT,
|
|
37
|
+
READING_WIDTH_BODY_FALLBACK: () => READING_WIDTH_BODY_FALLBACK,
|
|
37
38
|
READING_WIDTH_CH: () => READING_WIDTH_CH,
|
|
39
|
+
READING_WIDTH_CH_EM: () => READING_WIDTH_CH_EM,
|
|
38
40
|
READING_WIDTH_MAX_CH: () => READING_WIDTH_MAX_CH,
|
|
39
41
|
READING_WIDTH_MIN_CH: () => READING_WIDTH_MIN_CH,
|
|
40
42
|
defaultMaxPanes: () => defaultMaxPanes,
|
|
@@ -47,6 +49,7 @@ __export(layoutTokens_exports, {
|
|
|
47
49
|
readingWidthStyle: () => readingWidthStyle,
|
|
48
50
|
useLayoutSizeClass: () => useLayoutSizeClass,
|
|
49
51
|
useMultiPane: () => useMultiPane,
|
|
52
|
+
useReadingWidthStyle: () => useReadingWidthStyle,
|
|
50
53
|
useSemanticGaps: () => useSemanticGaps
|
|
51
54
|
});
|
|
52
55
|
module.exports = __toCommonJS(layoutTokens_exports);
|
|
@@ -173,15 +176,26 @@ function useMultiPane(maxPanes) {
|
|
|
173
176
|
var READING_WIDTH_CH = 70;
|
|
174
177
|
var READING_WIDTH_MIN_CH = 65;
|
|
175
178
|
var READING_WIDTH_MAX_CH = 75;
|
|
179
|
+
var READING_WIDTH_CH_EM = 0.5;
|
|
180
|
+
var READING_WIDTH_BODY_FALLBACK = 16;
|
|
176
181
|
function readingWidthStyle() {
|
|
177
|
-
var measure = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : READING_WIDTH_CH
|
|
182
|
+
var measure = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : READING_WIDTH_CH,
|
|
183
|
+
web = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : import_tamagui.isWeb,
|
|
184
|
+
bodyFontSize = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : READING_WIDTH_BODY_FALLBACK;
|
|
178
185
|
if (measure === "none" || measure === null) return {};
|
|
179
186
|
var ch = Math.min(READING_WIDTH_MAX_CH, Math.max(READING_WIDTH_MIN_CH, measure));
|
|
180
187
|
return {
|
|
181
|
-
maxWidth: `${ch}ch
|
|
188
|
+
maxWidth: web ? `${ch}ch` : Math.round(ch * READING_WIDTH_CH_EM * bodyFontSize),
|
|
182
189
|
width: "100%"
|
|
183
190
|
};
|
|
184
191
|
}
|
|
192
|
+
function useReadingWidthStyle() {
|
|
193
|
+
var measure = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : READING_WIDTH_CH;
|
|
194
|
+
var bodyFontSize = import_tamagui.isWeb ? READING_WIDTH_BODY_FALLBACK : (0, import_tamagui.getFontSize)("$true", {
|
|
195
|
+
font: "$body"
|
|
196
|
+
});
|
|
197
|
+
return readingWidthStyle(measure, import_tamagui.isWeb, bodyFontSize);
|
|
198
|
+
}
|
|
185
199
|
var FORM_READABLE_WIDTH = 560;
|
|
186
200
|
var FORM_READABLE_WIDTH_MIN = 480;
|
|
187
201
|
var FORM_READABLE_WIDTH_MAX = 640;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","layoutTokens_exports","__export","DETAIL_READABLE_WIDTH","FORM_READABLE_WIDTH","FORM_READABLE_WIDTH_MAX","FORM_READABLE_WIDTH_MIN","LAYOUT_SIZE_CLASS_ORDER","MIN_PRESS_TARGET","NARROW_BREAKPOINT","OVERLAY_ANCHOR_GAP","OVERLAY_ATTACH_GAP","OVERLAY_BREAKPOINT","READING_WIDTH_CH","READING_WIDTH_MAX_CH","READING_WIDTH_MIN_CH","defaultMaxPanes","getLayoutSizeClass","isTouchSurface","layoutBreakpoints","layoutSizeClassAtLeast","pressTargetHitSlop","pressTargetStyle","readingWidthStyle","useLayoutSizeClass","useMultiPane","useSemanticGaps","module","exports","import_platform","require","import_react","import_tamagui","import_useResolvedKnobs","xxs","xs","medium","md","expanded","large","xl","xxl","width","sizeClass","current","minimum","indexOf","readViewportWidth","window","innerWidth","subscribeViewportSizeClass","onChange","isWeb","queries","map","matchMedia","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","mq","addEventListener","err","return","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","mq2","removeEventListener","viewportSizeClass","serverViewportSizeClass","nativeWidth","useWindowDimensions","webSizeClass","useSyncExternalStore","maxPanes"],"sources":["../../../src/theme/layoutTokens.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,qBAAA,EAAAA,CAAA,KAAAA,qBAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA,mBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA,gBAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA,gBAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAA,oBAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAA,oBAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA,eAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,sBAAA,EAAAA,CAAA,KAAAA,sBAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA,gBAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,YAAA,EAAAA,CAAA,KAAAA,YAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA;AAAA;AAiCAC,MAAA,CAAAC,OAAA,
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","layoutTokens_exports","__export","DETAIL_READABLE_WIDTH","FORM_READABLE_WIDTH","FORM_READABLE_WIDTH_MAX","FORM_READABLE_WIDTH_MIN","LAYOUT_SIZE_CLASS_ORDER","MIN_PRESS_TARGET","NARROW_BREAKPOINT","OVERLAY_ANCHOR_GAP","OVERLAY_ATTACH_GAP","OVERLAY_BREAKPOINT","READING_WIDTH_BODY_FALLBACK","READING_WIDTH_CH","READING_WIDTH_CH_EM","READING_WIDTH_MAX_CH","READING_WIDTH_MIN_CH","defaultMaxPanes","getLayoutSizeClass","isTouchSurface","layoutBreakpoints","layoutSizeClassAtLeast","pressTargetHitSlop","pressTargetStyle","readingWidthStyle","useLayoutSizeClass","useMultiPane","useReadingWidthStyle","useSemanticGaps","module","exports","import_platform","require","import_react","import_tamagui","import_useResolvedKnobs","xxs","xs","medium","md","expanded","large","xl","xxl","width","sizeClass","current","minimum","indexOf","readViewportWidth","window","innerWidth","subscribeViewportSizeClass","onChange","isWeb","queries","map","matchMedia","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","mq","addEventListener","err","return","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","mq2","removeEventListener","viewportSizeClass","serverViewportSizeClass","nativeWidth","useWindowDimensions","webSizeClass","useSyncExternalStore","maxPanes","budget"],"sources":["../../../src/theme/layoutTokens.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isTouchable, isWebTouchable } from "@multiplatform.one/platform";
|
|
2
2
|
import { useSyncExternalStore } from "react";
|
|
3
|
-
import { isWeb, useWindowDimensions } from "tamagui";
|
|
3
|
+
import { getFontSize, isWeb, useWindowDimensions } from "tamagui";
|
|
4
4
|
import { useResolvedKnobs } from "./useResolvedKnobs.mjs";
|
|
5
5
|
const layoutBreakpoints = {
|
|
6
6
|
/** Tamagui `$xxs`. Smallest phones. */
|
|
@@ -77,14 +77,22 @@ function useMultiPane(maxPanes) {
|
|
|
77
77
|
const READING_WIDTH_CH = 70;
|
|
78
78
|
const READING_WIDTH_MIN_CH = 65;
|
|
79
79
|
const READING_WIDTH_MAX_CH = 75;
|
|
80
|
-
|
|
80
|
+
const READING_WIDTH_CH_EM = 0.5;
|
|
81
|
+
const READING_WIDTH_BODY_FALLBACK = 16;
|
|
82
|
+
function readingWidthStyle(measure = READING_WIDTH_CH, web = isWeb, bodyFontSize = READING_WIDTH_BODY_FALLBACK) {
|
|
81
83
|
if (measure === "none" || measure === null) return {};
|
|
82
84
|
const ch = Math.min(READING_WIDTH_MAX_CH, Math.max(READING_WIDTH_MIN_CH, measure));
|
|
83
85
|
return {
|
|
84
|
-
maxWidth: `${ch}ch
|
|
86
|
+
maxWidth: web ? `${ch}ch` : Math.round(ch * READING_WIDTH_CH_EM * bodyFontSize),
|
|
85
87
|
width: "100%"
|
|
86
88
|
};
|
|
87
89
|
}
|
|
90
|
+
function useReadingWidthStyle(measure = READING_WIDTH_CH) {
|
|
91
|
+
const bodyFontSize = isWeb ? READING_WIDTH_BODY_FALLBACK : getFontSize("$true", {
|
|
92
|
+
font: "$body"
|
|
93
|
+
});
|
|
94
|
+
return readingWidthStyle(measure, isWeb, bodyFontSize);
|
|
95
|
+
}
|
|
88
96
|
const FORM_READABLE_WIDTH = 560;
|
|
89
97
|
const FORM_READABLE_WIDTH_MIN = 480;
|
|
90
98
|
const FORM_READABLE_WIDTH_MAX = 640;
|
|
@@ -120,5 +128,5 @@ function useSemanticGaps() {
|
|
|
120
128
|
betweenGroups: knobProps.gapLg
|
|
121
129
|
};
|
|
122
130
|
}
|
|
123
|
-
export { DETAIL_READABLE_WIDTH, FORM_READABLE_WIDTH, FORM_READABLE_WIDTH_MAX, FORM_READABLE_WIDTH_MIN, LAYOUT_SIZE_CLASS_ORDER, MIN_PRESS_TARGET, NARROW_BREAKPOINT, OVERLAY_ANCHOR_GAP, OVERLAY_ATTACH_GAP, OVERLAY_BREAKPOINT, READING_WIDTH_CH, READING_WIDTH_MAX_CH, READING_WIDTH_MIN_CH, defaultMaxPanes, getLayoutSizeClass, isTouchSurface, layoutBreakpoints, layoutSizeClassAtLeast, pressTargetHitSlop, pressTargetStyle, readingWidthStyle, useLayoutSizeClass, useMultiPane, useSemanticGaps };
|
|
131
|
+
export { DETAIL_READABLE_WIDTH, FORM_READABLE_WIDTH, FORM_READABLE_WIDTH_MAX, FORM_READABLE_WIDTH_MIN, LAYOUT_SIZE_CLASS_ORDER, MIN_PRESS_TARGET, NARROW_BREAKPOINT, OVERLAY_ANCHOR_GAP, OVERLAY_ATTACH_GAP, OVERLAY_BREAKPOINT, READING_WIDTH_BODY_FALLBACK, READING_WIDTH_CH, READING_WIDTH_CH_EM, READING_WIDTH_MAX_CH, READING_WIDTH_MIN_CH, defaultMaxPanes, getLayoutSizeClass, isTouchSurface, layoutBreakpoints, layoutSizeClassAtLeast, pressTargetHitSlop, pressTargetStyle, readingWidthStyle, useLayoutSizeClass, useMultiPane, useReadingWidthStyle, useSemanticGaps };
|
|
124
132
|
//# sourceMappingURL=layoutTokens.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isTouchable","isWebTouchable","useSyncExternalStore","isWeb","useWindowDimensions","useResolvedKnobs","layoutBreakpoints","xxs","xs","medium","md","expanded","large","xl","xxl","OVERLAY_BREAKPOINT","NARROW_BREAKPOINT","LAYOUT_SIZE_CLASS_ORDER","getLayoutSizeClass","width","defaultMaxPanes","sizeClass","layoutSizeClassAtLeast","current","minimum","indexOf","readViewportWidth","window","innerWidth","subscribeViewportSizeClass","onChange","queries","map","matchMedia","mq","addEventListener","removeEventListener","viewportSizeClass","serverViewportSizeClass","useLayoutSizeClass","nativeWidth","webSizeClass","useMultiPane","maxPanes","budget","READING_WIDTH_CH","READING_WIDTH_MIN_CH","READING_WIDTH_MAX_CH","readingWidthStyle","measure","ch","Math","min","max","maxWidth","FORM_READABLE_WIDTH","FORM_READABLE_WIDTH_MIN","FORM_READABLE_WIDTH_MAX","DETAIL_READABLE_WIDTH","MIN_PRESS_TARGET","isTouchSurface","pressTargetStyle","size","minWidth","minHeight","pressTargetHitSlop","visualSize","pad","ceil","top","bottom","left","right","OVERLAY_ANCHOR_GAP","OVERLAY_ATTACH_GAP","useSemanticGaps","knobProps","tight","gapSm","withinGroup","gap","betweenGroups","gapLg"],"sources":["../../../src/theme/layoutTokens.ts"],"sourcesContent":[null],"mappings":"AAiCA,SAASA,WAAA,EAAaC,cAAA,QAAsB;AAC5C,SAASC,oBAAA,QAA4B;AACrC,
|
|
1
|
+
{"version":3,"names":["isTouchable","isWebTouchable","useSyncExternalStore","getFontSize","isWeb","useWindowDimensions","useResolvedKnobs","layoutBreakpoints","xxs","xs","medium","md","expanded","large","xl","xxl","OVERLAY_BREAKPOINT","NARROW_BREAKPOINT","LAYOUT_SIZE_CLASS_ORDER","getLayoutSizeClass","width","defaultMaxPanes","sizeClass","layoutSizeClassAtLeast","current","minimum","indexOf","readViewportWidth","window","innerWidth","subscribeViewportSizeClass","onChange","queries","map","matchMedia","mq","addEventListener","removeEventListener","viewportSizeClass","serverViewportSizeClass","useLayoutSizeClass","nativeWidth","webSizeClass","useMultiPane","maxPanes","budget","READING_WIDTH_CH","READING_WIDTH_MIN_CH","READING_WIDTH_MAX_CH","READING_WIDTH_CH_EM","READING_WIDTH_BODY_FALLBACK","readingWidthStyle","measure","web","bodyFontSize","ch","Math","min","max","maxWidth","round","useReadingWidthStyle","font","FORM_READABLE_WIDTH","FORM_READABLE_WIDTH_MIN","FORM_READABLE_WIDTH_MAX","DETAIL_READABLE_WIDTH","MIN_PRESS_TARGET","isTouchSurface","pressTargetStyle","size","minWidth","minHeight","pressTargetHitSlop","visualSize","pad","ceil","top","bottom","left","right","OVERLAY_ANCHOR_GAP","OVERLAY_ATTACH_GAP","useSemanticGaps","knobProps","tight","gapSm","withinGroup","gap","betweenGroups","gapLg"],"sources":["../../../src/theme/layoutTokens.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isTouchable, isWebTouchable } from "@multiplatform.one/platform";
|
|
2
2
|
import { useSyncExternalStore } from "react";
|
|
3
|
-
import { isWeb, useWindowDimensions } from "tamagui";
|
|
3
|
+
import { getFontSize, isWeb, useWindowDimensions } from "tamagui";
|
|
4
4
|
import { useResolvedKnobs } from "./useResolvedKnobs.native.js";
|
|
5
5
|
var layoutBreakpoints = {
|
|
6
6
|
/** Tamagui `$xxs`. Smallest phones. */
|
|
@@ -121,15 +121,26 @@ function useMultiPane(maxPanes) {
|
|
|
121
121
|
var READING_WIDTH_CH = 70;
|
|
122
122
|
var READING_WIDTH_MIN_CH = 65;
|
|
123
123
|
var READING_WIDTH_MAX_CH = 75;
|
|
124
|
+
var READING_WIDTH_CH_EM = 0.5;
|
|
125
|
+
var READING_WIDTH_BODY_FALLBACK = 16;
|
|
124
126
|
function readingWidthStyle() {
|
|
125
|
-
var measure = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : READING_WIDTH_CH
|
|
127
|
+
var measure = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : READING_WIDTH_CH,
|
|
128
|
+
web = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : isWeb,
|
|
129
|
+
bodyFontSize = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : READING_WIDTH_BODY_FALLBACK;
|
|
126
130
|
if (measure === "none" || measure === null) return {};
|
|
127
131
|
var ch = Math.min(READING_WIDTH_MAX_CH, Math.max(READING_WIDTH_MIN_CH, measure));
|
|
128
132
|
return {
|
|
129
|
-
maxWidth: `${ch}ch
|
|
133
|
+
maxWidth: web ? `${ch}ch` : Math.round(ch * READING_WIDTH_CH_EM * bodyFontSize),
|
|
130
134
|
width: "100%"
|
|
131
135
|
};
|
|
132
136
|
}
|
|
137
|
+
function useReadingWidthStyle() {
|
|
138
|
+
var measure = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : READING_WIDTH_CH;
|
|
139
|
+
var bodyFontSize = isWeb ? READING_WIDTH_BODY_FALLBACK : getFontSize("$true", {
|
|
140
|
+
font: "$body"
|
|
141
|
+
});
|
|
142
|
+
return readingWidthStyle(measure, isWeb, bodyFontSize);
|
|
143
|
+
}
|
|
133
144
|
var FORM_READABLE_WIDTH = 560;
|
|
134
145
|
var FORM_READABLE_WIDTH_MIN = 480;
|
|
135
146
|
var FORM_READABLE_WIDTH_MAX = 640;
|
|
@@ -167,5 +178,5 @@ function useSemanticGaps() {
|
|
|
167
178
|
betweenGroups: knobProps.gapLg
|
|
168
179
|
};
|
|
169
180
|
}
|
|
170
|
-
export { DETAIL_READABLE_WIDTH, FORM_READABLE_WIDTH, FORM_READABLE_WIDTH_MAX, FORM_READABLE_WIDTH_MIN, LAYOUT_SIZE_CLASS_ORDER, MIN_PRESS_TARGET, NARROW_BREAKPOINT, OVERLAY_ANCHOR_GAP, OVERLAY_ATTACH_GAP, OVERLAY_BREAKPOINT, READING_WIDTH_CH, READING_WIDTH_MAX_CH, READING_WIDTH_MIN_CH, defaultMaxPanes, getLayoutSizeClass, isTouchSurface, layoutBreakpoints, layoutSizeClassAtLeast, pressTargetHitSlop, pressTargetStyle, readingWidthStyle, useLayoutSizeClass, useMultiPane, useSemanticGaps };
|
|
181
|
+
export { DETAIL_READABLE_WIDTH, FORM_READABLE_WIDTH, FORM_READABLE_WIDTH_MAX, FORM_READABLE_WIDTH_MIN, LAYOUT_SIZE_CLASS_ORDER, MIN_PRESS_TARGET, NARROW_BREAKPOINT, OVERLAY_ANCHOR_GAP, OVERLAY_ATTACH_GAP, OVERLAY_BREAKPOINT, READING_WIDTH_BODY_FALLBACK, READING_WIDTH_CH, READING_WIDTH_CH_EM, READING_WIDTH_MAX_CH, READING_WIDTH_MIN_CH, defaultMaxPanes, getLayoutSizeClass, isTouchSurface, layoutBreakpoints, layoutSizeClassAtLeast, pressTargetHitSlop, pressTargetStyle, readingWidthStyle, useLayoutSizeClass, useMultiPane, useReadingWidthStyle, useSemanticGaps };
|
|
171
182
|
//# sourceMappingURL=layoutTokens.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isTouchable","isWebTouchable","useSyncExternalStore","isWeb","useWindowDimensions","useResolvedKnobs","layoutBreakpoints","xxs","xs","medium","md","expanded","large","xl","xxl","OVERLAY_BREAKPOINT","NARROW_BREAKPOINT","LAYOUT_SIZE_CLASS_ORDER","getLayoutSizeClass","width","defaultMaxPanes","sizeClass","layoutSizeClassAtLeast","current","minimum","indexOf","readViewportWidth","window","innerWidth","subscribeViewportSizeClass","onChange","queries","map","matchMedia","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","mq","value","addEventListener","err","return","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","mq2","removeEventListener","viewportSizeClass","serverViewportSizeClass","useLayoutSizeClass","nativeWidth","webSizeClass","useMultiPane","maxPanes"],"sources":["../../../src/theme/layoutTokens.ts"],"sourcesContent":[null],"mappings":"AAiCA,SAASA,WAAA,EAAaC,cAAA,QAAsB;AAC5C,SAASC,oBAAA,QAA4B;AACrC,
|
|
1
|
+
{"version":3,"names":["isTouchable","isWebTouchable","useSyncExternalStore","getFontSize","isWeb","useWindowDimensions","useResolvedKnobs","layoutBreakpoints","xxs","xs","medium","md","expanded","large","xl","xxl","OVERLAY_BREAKPOINT","NARROW_BREAKPOINT","LAYOUT_SIZE_CLASS_ORDER","getLayoutSizeClass","width","defaultMaxPanes","sizeClass","layoutSizeClassAtLeast","current","minimum","indexOf","readViewportWidth","window","innerWidth","subscribeViewportSizeClass","onChange","queries","map","matchMedia","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","mq","value","addEventListener","err","return","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","mq2","removeEventListener","viewportSizeClass","serverViewportSizeClass","useLayoutSizeClass","nativeWidth","webSizeClass","useMultiPane","maxPanes","budget","READING_WIDTH_CH","READING_WIDTH_MIN_CH","READING_WIDTH_MAX_CH","READING_WIDTH_CH_EM","READING_WIDTH_BODY_FALLBACK","readingWidthStyle"],"sources":["../../../src/theme/layoutTokens.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@multiplatform.one/theme",
|
|
3
|
-
"version": "7.88.
|
|
3
|
+
"version": "7.88.5",
|
|
4
4
|
"description": "Tamagui theme system for multiplatform.one",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"multiplatform",
|
|
@@ -115,8 +115,8 @@
|
|
|
115
115
|
"access": "public"
|
|
116
116
|
},
|
|
117
117
|
"dependencies": {
|
|
118
|
-
"@multiplatform.one/platform": "^7.88.
|
|
119
|
-
"@multiplatform.one/store": "^7.88.
|
|
118
|
+
"@multiplatform.one/platform": "^7.88.5",
|
|
119
|
+
"@multiplatform.one/store": "^7.88.5",
|
|
120
120
|
"@tamagui/animations-react-native": "2.7.6",
|
|
121
121
|
"@tamagui/colors": "2.7.6",
|
|
122
122
|
"@tamagui/config": "2.7.6",
|
|
@@ -132,8 +132,8 @@
|
|
|
132
132
|
},
|
|
133
133
|
"devDependencies": {
|
|
134
134
|
"@expo/prebuild-config": "55.0.18",
|
|
135
|
-
"@multiplatform.one/config": "7.88.
|
|
136
|
-
"@multiplatform.one/test-utils": "7.88.
|
|
135
|
+
"@multiplatform.one/config": "7.88.5",
|
|
136
|
+
"@multiplatform.one/test-utils": "7.88.5",
|
|
137
137
|
"@tamagui/animations-css": "2.7.6",
|
|
138
138
|
"@tamagui/animations-reanimated": "2.7.6",
|
|
139
139
|
"@tamagui/build": "2.7.6",
|
|
@@ -15,8 +15,11 @@ import {
|
|
|
15
15
|
layoutSizeClassAtLeast,
|
|
16
16
|
pressTargetHitSlop,
|
|
17
17
|
pressTargetStyle,
|
|
18
|
+
READING_WIDTH_CH_EM,
|
|
18
19
|
readingWidthStyle,
|
|
19
20
|
} from "./layoutTokens";
|
|
21
|
+
import { densePreset, roomyPreset } from "./presets";
|
|
22
|
+
import { generateScaleFonts } from "./scale";
|
|
20
23
|
|
|
21
24
|
describe("layoutBreakpoints (DG-LAY-01)", () => {
|
|
22
25
|
it("pivots overlays at medium 640 (Tamagui $sm — MPO-13 C5); expanded 860 stays the pane class", () => {
|
|
@@ -67,6 +70,24 @@ describe("readingWidthStyle (DG-LAY-05)", () => {
|
|
|
67
70
|
expect(readingWidthStyle("none")).toEqual({});
|
|
68
71
|
expect(readingWidthStyle(null)).toEqual({});
|
|
69
72
|
});
|
|
73
|
+
|
|
74
|
+
it("gives targets without a ch unit the measure in points from the body size (FZ-9278)", () => {
|
|
75
|
+
const denseBody = generateScaleFonts(densePreset.scale!.type, "native").bodySizes.true;
|
|
76
|
+
const roomyBody = generateScaleFonts(roomyPreset.scale!.type, "native").bodySizes.true;
|
|
77
|
+
expect(denseBody).toBeLessThan(roomyBody);
|
|
78
|
+
expect(readingWidthStyle(undefined, false, denseBody)).toEqual({
|
|
79
|
+
maxWidth: Math.round(70 * READING_WIDTH_CH_EM * denseBody),
|
|
80
|
+
width: "100%",
|
|
81
|
+
});
|
|
82
|
+
expect(readingWidthStyle(undefined, false, roomyBody)).toEqual({
|
|
83
|
+
maxWidth: Math.round(70 * READING_WIDTH_CH_EM * roomyBody),
|
|
84
|
+
width: "100%",
|
|
85
|
+
});
|
|
86
|
+
expect(readingWidthStyle(90, false, roomyBody)).toEqual({
|
|
87
|
+
maxWidth: Math.round(75 * READING_WIDTH_CH_EM * roomyBody),
|
|
88
|
+
width: "100%",
|
|
89
|
+
});
|
|
90
|
+
});
|
|
70
91
|
});
|
|
71
92
|
|
|
72
93
|
describe("overlay anchoring", () => {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
|
|
34
34
|
import { isTouchable, isWebTouchable } from "@multiplatform.one/platform";
|
|
35
35
|
import { useSyncExternalStore } from "react";
|
|
36
|
-
import { isWeb, useWindowDimensions } from "tamagui";
|
|
36
|
+
import { type FontSizeTokens, getFontSize, isWeb, useWindowDimensions } from "tamagui";
|
|
37
37
|
import { useResolvedKnobs } from "./useResolvedKnobs";
|
|
38
38
|
|
|
39
39
|
// ── Breakpoint tokens (DG-LAY-01) ─────────────────────────────────────────
|
|
@@ -191,18 +191,45 @@ export const READING_WIDTH_CH = 70;
|
|
|
191
191
|
export const READING_WIDTH_MIN_CH = 65;
|
|
192
192
|
export const READING_WIDTH_MAX_CH = 75;
|
|
193
193
|
|
|
194
|
+
/** One `ch` as a share of the body font size, for targets with no `ch` unit. */
|
|
195
|
+
export const READING_WIDTH_CH_EM = 0.5;
|
|
196
|
+
|
|
197
|
+
/** Body size the pure helper assumes when the caller has no live one. */
|
|
198
|
+
export const READING_WIDTH_BODY_FALLBACK = 16;
|
|
199
|
+
|
|
194
200
|
export type ReadingWidthStyle = {
|
|
195
|
-
maxWidth: string;
|
|
201
|
+
maxWidth: string | number;
|
|
196
202
|
width: "100%";
|
|
197
203
|
};
|
|
198
204
|
|
|
199
|
-
/**
|
|
205
|
+
/**
|
|
206
|
+
* Style props for prose / long-form columns. Pass `null`/`"none"` to eject.
|
|
207
|
+
* React Native and the GTK renderer have no `ch` unit and read "70ch" as 70
|
|
208
|
+
* points, so off the web the measure is points from the body font size
|
|
209
|
+
* (FZ-9278). Components use `useReadingWidthStyle`, which reads that size
|
|
210
|
+
* from the active preset.
|
|
211
|
+
*/
|
|
200
212
|
export function readingWidthStyle(
|
|
201
213
|
measure: number | "none" | null = READING_WIDTH_CH,
|
|
214
|
+
web: boolean = isWeb,
|
|
215
|
+
bodyFontSize: number = READING_WIDTH_BODY_FALLBACK,
|
|
202
216
|
): ReadingWidthStyle | Record<string, never> {
|
|
203
217
|
if (measure === "none" || measure === null) return {};
|
|
204
218
|
const ch = Math.min(READING_WIDTH_MAX_CH, Math.max(READING_WIDTH_MIN_CH, measure));
|
|
205
|
-
return {
|
|
219
|
+
return {
|
|
220
|
+
maxWidth: web ? `${ch}ch` : Math.round(ch * READING_WIDTH_CH_EM * bodyFontSize),
|
|
221
|
+
width: "100%",
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/** `readingWidthStyle` at the active preset's body size (`$true` on `$body`). */
|
|
226
|
+
export function useReadingWidthStyle(
|
|
227
|
+
measure: number | "none" | null = READING_WIDTH_CH,
|
|
228
|
+
): ReadingWidthStyle | Record<string, never> {
|
|
229
|
+
const bodyFontSize = isWeb
|
|
230
|
+
? READING_WIDTH_BODY_FALLBACK
|
|
231
|
+
: getFontSize("$true" as FontSizeTokens, { font: "$body" });
|
|
232
|
+
return readingWidthStyle(measure, isWeb, bodyFontSize);
|
|
206
233
|
}
|
|
207
234
|
|
|
208
235
|
// ── Form readable width ───────────────────────────────────────────────────
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FZ-9211. The dark elevation order: page < card <= sheet. A sheet frame paints
|
|
3
|
+
* `elevatedSurface.backgroundColor`, which must resolve at or above the card
|
|
4
|
+
* (the Card surface1 theme) it slides over, in every colour theme and every knob preset.
|
|
5
|
+
*/
|
|
6
|
+
import { describe, expect, it, vi } from "vitest";
|
|
7
|
+
|
|
8
|
+
vi.mock("tamagui", async (original) => ({
|
|
9
|
+
...(await original<typeof import("tamagui")>()),
|
|
10
|
+
createTamagui: vi.fn((config: Record<string, unknown>) => config),
|
|
11
|
+
}));
|
|
12
|
+
vi.mock("./animations/index", () => ({ animations: {} }));
|
|
13
|
+
|
|
14
|
+
import { normalizeToHex, relativeLuminance } from "./colorRules";
|
|
15
|
+
import { createDefaultThemeConfig } from "./createDefaultThemeConfig";
|
|
16
|
+
import { resolveAllThemes } from "./dedupeInherited";
|
|
17
|
+
import { defaultKnobs } from "./knobs";
|
|
18
|
+
import * as presets from "./presets";
|
|
19
|
+
import { resolveKnobs } from "./resolveKnobs";
|
|
20
|
+
|
|
21
|
+
const themes = resolveAllThemes(
|
|
22
|
+
createDefaultThemeConfig().tamagui.themes as unknown as Record<string, Record<string, unknown>>,
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
const darkRoots = Object.keys(themes).filter(
|
|
26
|
+
(name) => /^dark(_[a-z]+)?$/.test(name) && !name.endsWith("_accent") && themes[`${name}_Card`],
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
function luminance(theme: Record<string, unknown>, token: string): number {
|
|
30
|
+
const key = token.startsWith("$") ? token.slice(1) : token;
|
|
31
|
+
const hex = normalizeToHex(String(theme[key]));
|
|
32
|
+
if (!hex) throw new Error(`${key} has no colour: ${String(theme[key])}`);
|
|
33
|
+
return relativeLuminance(hex);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const knobPresets = Object.entries(presets as Record<string, unknown>)
|
|
37
|
+
.filter(([name, value]) => name.endsWith("Preset") && typeof value === "object" && value !== null)
|
|
38
|
+
.map(([name, value]) => [name, value as { knobs?: Record<string, unknown> }] as const);
|
|
39
|
+
|
|
40
|
+
describe("FZ-9211: dark sheets sit at or above the card", () => {
|
|
41
|
+
it("covers the dark colour themes", () => {
|
|
42
|
+
expect(darkRoots).toContain("dark");
|
|
43
|
+
expect(darkRoots.length).toBeGreaterThan(4);
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
it.each(darkRoots)("%s: page < card <= sheet", (name) => {
|
|
47
|
+
const root = themes[name]!;
|
|
48
|
+
const card = themes[`${name}_Card`]!;
|
|
49
|
+
const page = luminance(root, "background");
|
|
50
|
+
const cardFill = luminance(card, "background");
|
|
51
|
+
expect(cardFill, `${name} card over page`).toBeGreaterThan(page);
|
|
52
|
+
for (const [presetName, preset] of [["default", {}], ...knobPresets] as const) {
|
|
53
|
+
const knobs = { ...defaultKnobs, ...(preset as { knobs?: object }).knobs };
|
|
54
|
+
const sheet = resolveKnobs(knobs as never, undefined, "dark").knobProps.elevatedSurface;
|
|
55
|
+
expect(
|
|
56
|
+
luminance(root, sheet.backgroundColor),
|
|
57
|
+
`${name} ${presetName}: sheet ${sheet.backgroundColor} over card`,
|
|
58
|
+
).toBeGreaterThanOrEqual(cardFill);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
});
|
|
@@ -110,12 +110,24 @@ export declare function useMultiPane(maxPanes?: 1 | 2): boolean;
|
|
|
110
110
|
export declare const READING_WIDTH_CH = 70;
|
|
111
111
|
export declare const READING_WIDTH_MIN_CH = 65;
|
|
112
112
|
export declare const READING_WIDTH_MAX_CH = 75;
|
|
113
|
+
/** One `ch` as a share of the body font size, for targets with no `ch` unit. */
|
|
114
|
+
export declare const READING_WIDTH_CH_EM = 0.5;
|
|
115
|
+
/** Body size the pure helper assumes when the caller has no live one. */
|
|
116
|
+
export declare const READING_WIDTH_BODY_FALLBACK = 16;
|
|
113
117
|
export type ReadingWidthStyle = {
|
|
114
|
-
maxWidth: string;
|
|
118
|
+
maxWidth: string | number;
|
|
115
119
|
width: "100%";
|
|
116
120
|
};
|
|
117
|
-
/**
|
|
118
|
-
|
|
121
|
+
/**
|
|
122
|
+
* Style props for prose / long-form columns. Pass `null`/`"none"` to eject.
|
|
123
|
+
* React Native and the GTK renderer have no `ch` unit and read "70ch" as 70
|
|
124
|
+
* points, so off the web the measure is points from the body font size
|
|
125
|
+
* (FZ-9278). Components use `useReadingWidthStyle`, which reads that size
|
|
126
|
+
* from the active preset.
|
|
127
|
+
*/
|
|
128
|
+
export declare function readingWidthStyle(measure?: number | "none" | null, web?: boolean, bodyFontSize?: number): ReadingWidthStyle | Record<string, never>;
|
|
129
|
+
/** `readingWidthStyle` at the active preset's body size (`$true` on `$body`). */
|
|
130
|
+
export declare function useReadingWidthStyle(measure?: number | "none" | null): ReadingWidthStyle | Record<string, never>;
|
|
119
131
|
/**
|
|
120
132
|
* A form column's readable max width: wide enough for two FormGrid columns
|
|
121
133
|
* (FORM_GRID_COLLAPSE_WIDTH 480), narrow enough that a label, its field and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layoutTokens.d.ts","sourceRoot":"","sources":["../../src/theme/layoutTokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AASH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,CAAC;AAEjF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB;IAC5B,uCAAuC;;IAEvC,qBAAqB;;IAErB;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH,0EAA0E;;IAE1E,qBAAqB;;IAErB,qBAAqB;;IAErB,sBAAsB;;CAEd,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAElE;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,KAA2B,CAAC;AAE3D,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,KAA2B,CAAC;AAE1D,eAAO,MAAM,uBAAuB,EAAE,SAAS,eAAe,EAMpD,CAAC;AAEX,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAMjE;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,SAAS,EAAE,eAAe,GAAG,CAAC,GAAG,CAAC,CAEjE;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,eAAe,GACvB,OAAO,CAET;AA8BD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAQpD;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAItD;AAID,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"layoutTokens.d.ts","sourceRoot":"","sources":["../../src/theme/layoutTokens.ts"],"names":[],"mappings":"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"}
|