melta-app 0.5.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +288 -152
- package/docs/architecture.md +92 -0
- package/eslint-rules/melta.mjs +26 -0
- package/lib/module/primitives/Text.js +18 -5
- package/lib/module/primitives/Text.js.map +1 -1
- package/lib/module/primitives/metric.styles.js +4 -1
- package/lib/module/primitives/metric.styles.js.map +1 -1
- package/lib/module/primitives/text.styles.js +7 -1
- package/lib/module/primitives/text.styles.js.map +1 -1
- package/lib/module/theme/define-theme.js +13 -0
- package/lib/module/theme/define-theme.js.map +1 -1
- package/lib/module/theme/index.js +1 -0
- package/lib/module/theme/index.js.map +1 -1
- package/lib/module/theme/line-height.js +43 -0
- package/lib/module/theme/line-height.js.map +1 -0
- package/lib/module/theme/native-theme.js +7 -6
- package/lib/module/theme/native-theme.js.map +1 -1
- package/lib/typescript/src/primitives/Text.d.ts.map +1 -1
- package/lib/typescript/src/primitives/metric.styles.d.ts.map +1 -1
- package/lib/typescript/src/primitives/text.styles.d.ts.map +1 -1
- package/lib/typescript/src/theme/define-theme.d.ts.map +1 -1
- package/lib/typescript/src/theme/index.d.ts +1 -0
- package/lib/typescript/src/theme/index.d.ts.map +1 -1
- package/lib/typescript/src/theme/line-height.d.ts +34 -0
- package/lib/typescript/src/theme/line-height.d.ts.map +1 -0
- package/lib/typescript/src/theme/native-theme.d.ts.map +1 -1
- package/lib/typescript/src/theme/types.d.ts +9 -0
- package/lib/typescript/src/theme/types.d.ts.map +1 -1
- package/llms.txt +2 -1
- package/package.json +1 -1
- package/src/primitives/Text.tsx +19 -3
- package/src/primitives/metric.styles.ts +8 -1
- package/src/primitives/text.styles.ts +10 -1
- package/src/theme/define-theme.ts +18 -0
- package/src/theme/index.ts +5 -0
- package/src/theme/line-height.ts +44 -0
- package/src/theme/native-theme.ts +7 -6
- package/src/theme/types.ts +9 -0
package/eslint-rules/melta.mjs
CHANGED
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
* - no-raw-radius : borderRadius 系プロパティに数値リテラル直書き → error
|
|
9
9
|
* - no-raw-spacing : padding/margin/gap 系に数値リテラル直書き → warn(false positive 多)
|
|
10
10
|
* - no-raw-fontsize: fontSize に数値リテラル直書き → warn
|
|
11
|
+
*
|
|
12
|
+
* この severity は `meltaPlugin.configs.recommended`(flat config)として機械可読な形で配布する。
|
|
13
|
+
* 消費者が手で書き写すとドリフト源になるため(rally-nav の外部導入 T6、2026-08-04)、
|
|
14
|
+
* 推奨値の正本はこのファイルの RECOMMENDED_RULES であってドキュメントではない。
|
|
11
15
|
*/
|
|
12
16
|
|
|
13
17
|
const COLOR_RE = /#[0-9a-fA-F]{3,8}\b|\brgba?\s*\(|\bhsla?\s*\(/;
|
|
@@ -96,3 +100,25 @@ export const meltaPlugin = {
|
|
|
96
100
|
},
|
|
97
101
|
},
|
|
98
102
|
};
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* 推奨 severity の正本。
|
|
106
|
+
* error = 契約違反として止める / warn = false positive がありうるので助言に留める。
|
|
107
|
+
*/
|
|
108
|
+
const RECOMMENDED_RULES = {
|
|
109
|
+
"melta/no-raw-color": "error",
|
|
110
|
+
"melta/no-raw-radius": "error",
|
|
111
|
+
"melta/no-raw-spacing": "warn",
|
|
112
|
+
"melta/no-raw-fontsize": "warn",
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
// flat config 慣行に従い、plugin 自身を参照する config は定義後に後付けする(自己参照の循環を避ける)。
|
|
116
|
+
// `files` はあえて指定しない — 適用範囲は消費者側の config 構成に委ねる
|
|
117
|
+
// (TS/TSX に絞りたい場合は spread して `files` を足す。README「カスタマイズする場合」参照)。
|
|
118
|
+
meltaPlugin.configs = {
|
|
119
|
+
recommended: {
|
|
120
|
+
name: "melta/recommended",
|
|
121
|
+
plugins: { melta: meltaPlugin },
|
|
122
|
+
rules: { ...RECOMMENDED_RULES },
|
|
123
|
+
},
|
|
124
|
+
};
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { useMemo } from "react";
|
|
18
|
-
import { Text as RNText } from "react-native";
|
|
19
|
-
import { useTheme } from "../theme/index.js";
|
|
18
|
+
import { StyleSheet, Text as RNText } from "react-native";
|
|
19
|
+
import { useTheme, DEFAULT_MIN_LINE_HEIGHT_RATIO, minLineHeightFor } from "../theme/index.js";
|
|
20
20
|
import { CONTRACTS } from "../contracts/contract-types.js";
|
|
21
21
|
import { resolveTextShape } from "./text.styles.js";
|
|
22
22
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -38,10 +38,23 @@ export function Text({
|
|
|
38
38
|
// 形状(mode 非依存)は variant/role/weight にだけ依存させてメモ化(B-3)。
|
|
39
39
|
// 決定ロジックは pure resolver(text.styles.ts)に分離済み — recipe との機械照合対象。
|
|
40
40
|
const shape = useMemo(() => resolveTextShape(theme, variant, role, weight), [theme, variant, role, weight]);
|
|
41
|
+
|
|
42
|
+
// 消費者 style は合成順で最後=上書きが勝つため、resolver 内のクランプだけでは
|
|
43
|
+
// `style={{lineHeight: 16}}` を止められない。flatten した**最終値**に行間の安全下限を掛ける
|
|
44
|
+
// (fontSize の上書きにも追随させるため、下限は最終 fontSize から算出。機序は theme/line-height.ts)。
|
|
45
|
+
const flat = StyleSheet.flatten([shape, {
|
|
46
|
+
color: colors[color]
|
|
47
|
+
}, style]);
|
|
48
|
+
// `fontSize: undefined` の明示上書き(flatten は undefined でも上書きする)は、RN 既定サイズで
|
|
49
|
+
// 描画されるのにクランプ基準だけ variant 値になる齟齬を生む。variant の fontSize を復元して
|
|
50
|
+
// 「Text の文字サイズは variant が決める」契約とクランプ基準を一致させる。
|
|
51
|
+
if (typeof flat.fontSize !== "number") flat.fontSize = shape.fontSize;
|
|
52
|
+
if (flat.lineHeight !== undefined) {
|
|
53
|
+
const floor = minLineHeightFor(flat.fontSize ?? 0, theme.typography.minLineHeightRatio ?? DEFAULT_MIN_LINE_HEIGHT_RATIO);
|
|
54
|
+
if (flat.lineHeight < floor) flat.lineHeight = floor;
|
|
55
|
+
}
|
|
41
56
|
return /*#__PURE__*/_jsx(RNText, {
|
|
42
|
-
style:
|
|
43
|
-
color: colors[color]
|
|
44
|
-
}, style],
|
|
57
|
+
style: flat,
|
|
45
58
|
numberOfLines: numberOfLines,
|
|
46
59
|
accessibilityRole: role === "heading" ? "header" : undefined,
|
|
47
60
|
testID: testID,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","Text","RNText","useTheme","CONTRACTS","resolveTextShape","jsx","_jsx","variant","weight","color","role","numberOfLines","style","testID","children","theme","colors","shape","
|
|
1
|
+
{"version":3,"names":["useMemo","StyleSheet","Text","RNText","useTheme","DEFAULT_MIN_LINE_HEIGHT_RATIO","minLineHeightFor","CONTRACTS","resolveTextShape","jsx","_jsx","variant","weight","color","role","numberOfLines","style","testID","children","theme","colors","shape","flat","flatten","fontSize","lineHeight","undefined","floor","typography","minLineHeightRatio","accessibilityRole","__contract","text"],"sourceRoot":"../../../src","sources":["primitives/Text.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAwB,OAAO;AAC/C,SAASC,UAAU,EAAEC,IAAI,IAAIC,MAAM,QAAwC,cAAc;AACzF,SAASC,QAAQ,EAAEC,6BAA6B,EAAEC,gBAAgB,QAAQ,mBAAU;AAEpF,SAASC,SAAS,QAAwB,gCAA6B;AACvE,SAASC,gBAAgB,QAAuB,kBAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAmBhE,OAAO,SAASR,IAAIA,CAAC;EACnBS,OAAO,GAAG,MAAM;EAChBC,MAAM;EACNC,KAAK,GAAG,cAAc;EACtBC,IAAI,GAAG,MAAM;EACbC,aAAa;EACbC,KAAK;EACLC,MAAM;EACNC;AACS,CAAC,EAAE;EACZ,MAAM;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGhB,QAAQ,CAAC,CAAC;;EAEpC;EACA;EACA,MAAMiB,KAAK,GAAGrB,OAAO,CACnB,MAAMQ,gBAAgB,CAACW,KAAK,EAAER,OAAO,EAAEG,IAAI,EAAEF,MAAM,CAAC,EACpD,CAACO,KAAK,EAAER,OAAO,EAAEG,IAAI,EAAEF,MAAM,CAC/B,CAAC;;EAED;EACA;EACA;EACA,MAAMU,IAAe,GAAGrB,UAAU,CAACsB,OAAO,CAAC,CAACF,KAAK,EAAE;IAAER,KAAK,EAAEO,MAAM,CAACP,KAAK;EAAE,CAAC,EAAEG,KAAK,CAAC,CAAC;EACpF;EACA;EACA;EACA,IAAI,OAAOM,IAAI,CAACE,QAAQ,KAAK,QAAQ,EAAEF,IAAI,CAACE,QAAQ,GAAGH,KAAK,CAACG,QAAQ;EACrE,IAAIF,IAAI,CAACG,UAAU,KAAKC,SAAS,EAAE;IACjC,MAAMC,KAAK,GAAGrB,gBAAgB,CAC5BgB,IAAI,CAACE,QAAQ,IAAI,CAAC,EAClBL,KAAK,CAACS,UAAU,CAACC,kBAAkB,IAAIxB,6BACzC,CAAC;IACD,IAAIiB,IAAI,CAACG,UAAU,GAAGE,KAAK,EAAEL,IAAI,CAACG,UAAU,GAAGE,KAAK;EACtD;EAEA,oBACEjB,IAAA,CAACP,MAAM;IACLa,KAAK,EAAEM,IAAK;IACZP,aAAa,EAAEA,aAAc;IAC7Be,iBAAiB,EAAEhB,IAAI,KAAK,SAAS,GAAG,QAAQ,GAAGY,SAAU;IAC7DT,MAAM,EAAEA,MAAO;IAAAC,QAAA,EAEdA;EAAQ,CACH,CAAC;AAEb;;AAEA;AACAhB,IAAI,CAAC6B,UAAU,GAAGxB,SAAS,CAACyB,IAAI","ignoreList":[]}
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
* styleRefs)との機械照合は scripts/lib/metric-conformance.test.ts が行う。
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
// theme index からの runtime import は ThemeProvider → react-native を引くため pure module を直接参照
|
|
12
|
+
import { DEFAULT_MIN_LINE_HEIGHT_RATIO, clampLineHeight } from "../theme/line-height.js";
|
|
11
13
|
/**
|
|
12
14
|
* size → value / unit の fontSize token(metric.recipe sizes と整合)。
|
|
13
15
|
* unit は value の1段下の fontSize(ベースライン揃え用)。
|
|
@@ -34,7 +36,8 @@ export function resolveMetricStyles(theme, mode, size) {
|
|
|
34
36
|
return {
|
|
35
37
|
valueStyle: {
|
|
36
38
|
fontSize: fontSize[font.value].fontSize,
|
|
37
|
-
|
|
39
|
+
// カスタム theme の未クランプ値への防波堤(text.styles.ts と同じ。根拠は theme/line-height.ts)
|
|
40
|
+
lineHeight: clampLineHeight(fontSize[font.value].fontSize, fontSize[font.value].lineHeight, theme.typography.minLineHeightRatio ?? DEFAULT_MIN_LINE_HEIGHT_RATIO),
|
|
38
41
|
fontWeight: theme.typography.fontWeight.bold,
|
|
39
42
|
color: sem["text-heading"],
|
|
40
43
|
fontVariant: ["tabular-nums"]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["METRIC_FONT","sm","value","unit","md","lg","resolveMetricStyles","theme","mode","size","sem","color","semantic","fontSize","typography","font","valueStyle","lineHeight","fontWeight","bold","fontVariant","unitStyle","medium","marginLeft","spacing","labelStyle"],"sourceRoot":"../../../src","sources":["primitives/metric.styles.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["DEFAULT_MIN_LINE_HEIGHT_RATIO","clampLineHeight","METRIC_FONT","sm","value","unit","md","lg","resolveMetricStyles","theme","mode","size","sem","color","semantic","fontSize","typography","font","valueStyle","lineHeight","minLineHeightRatio","fontWeight","bold","fontVariant","unitStyle","medium","marginLeft","spacing","labelStyle"],"sourceRoot":"../../../src","sources":["primitives/metric.styles.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA,SAASA,6BAA6B,EAAEC,eAAe,QAAQ,yBAAsB;AAIrF;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAA0E,GAAG;EACxFC,EAAE,EAAE;IAAEC,KAAK,EAAE,IAAI;IAAEC,IAAI,EAAE;EAAO,CAAC;EACjCC,EAAE,EAAE;IAAEF,KAAK,EAAE,KAAK;IAAEC,IAAI,EAAE;EAAK,CAAC;EAChCE,EAAE,EAAE;IAAEH,KAAK,EAAE,KAAK;IAAEC,IAAI,EAAE;EAAK;AACjC,CAAC;AAyBD;AACA,OAAO,SAASG,mBAAmBA,CACjCC,KAAkB,EAClBC,IAAe,EACfC,IAAgB,EACF;EACd,MAAMC,GAAG,GAAGH,KAAK,CAACI,KAAK,CAACC,QAAQ,CAACJ,IAAI,CAAC;EACtC,MAAMK,QAAQ,GAAGN,KAAK,CAACO,UAAU,CAACD,QAAQ;EAC1C,MAAME,IAAI,GAAGf,WAAW,CAACS,IAAI,CAAC;EAC9B,OAAO;IACLO,UAAU,EAAE;MACVH,QAAQ,EAAEA,QAAQ,CAACE,IAAI,CAACb,KAAK,CAAC,CAACW,QAAQ;MACvC;MACAI,UAAU,EAAElB,eAAe,CACzBc,QAAQ,CAACE,IAAI,CAACb,KAAK,CAAC,CAACW,QAAQ,EAC7BA,QAAQ,CAACE,IAAI,CAACb,KAAK,CAAC,CAACe,UAAU,EAC/BV,KAAK,CAACO,UAAU,CAACI,kBAAkB,IAAIpB,6BACzC,CAAC;MACDqB,UAAU,EAAEZ,KAAK,CAACO,UAAU,CAACK,UAAU,CAACC,IAAI;MAC5CT,KAAK,EAAED,GAAG,CAAC,cAAc,CAAC;MAC1BW,WAAW,EAAE,CAAC,cAAc;IAC9B,CAAC;IACDC,SAAS,EAAE;MACTT,QAAQ,EAAEA,QAAQ,CAACE,IAAI,CAACZ,IAAI,CAAC,CAACU,QAAQ;MACtCM,UAAU,EAAEZ,KAAK,CAACO,UAAU,CAACK,UAAU,CAACI,MAAM;MAC9CZ,KAAK,EAAED,GAAG,CAAC,YAAY,CAAC;MACxBc,UAAU,EAAEjB,KAAK,CAACkB,OAAO,CAAC,GAAG;IAC/B,CAAC;IACDC,UAAU,EAAE;MACVb,QAAQ,EAAEA,QAAQ,CAACZ,EAAE,CAACY,QAAQ;MAC9BF,KAAK,EAAED,GAAG,CAAC,YAAY;IACzB;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
* 機械照合は scripts/lib/text-conformance.test.ts が行う。
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
// theme index からの runtime import は ThemeProvider → react-native を引くため、
|
|
12
|
+
// pure module(line-height.ts)を直接参照する(letterSpacing の式直書きと同じ理由)。
|
|
13
|
+
import { DEFAULT_MIN_LINE_HEIGHT_RATIO, clampLineHeight } from "../theme/line-height.js";
|
|
14
|
+
|
|
11
15
|
/** letterSpacing の切替軸(text.recipe description の role prop に対応)。 */
|
|
12
16
|
|
|
13
17
|
/** Text の形状 style(mode 非依存部分。文字色は render 時に semantic colors から取る)。 */
|
|
@@ -23,7 +27,9 @@ export function resolveTextShape(theme, variant, role, weight) {
|
|
|
23
27
|
const fs = theme.typography.fontSize[variant];
|
|
24
28
|
return {
|
|
25
29
|
fontSize: fs.fontSize,
|
|
26
|
-
|
|
30
|
+
// 既定 theme は codegen 時点でクランプ済みだが、defineTheme で注入されたカスタム theme の
|
|
31
|
+
// 値はここが最初の防波堤(機序と下限の根拠は theme/line-height.ts)。
|
|
32
|
+
lineHeight: clampLineHeight(fs.fontSize, fs.lineHeight, theme.typography.minLineHeightRatio ?? DEFAULT_MIN_LINE_HEIGHT_RATIO),
|
|
27
33
|
letterSpacing: fs.fontSize * theme.typography.letterSpacingRatio[role],
|
|
28
34
|
...(weight ? {
|
|
29
35
|
fontWeight: theme.typography.fontWeight[weight]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["resolveTextShape","theme","variant","role","weight","fs","typography","fontSize","lineHeight","letterSpacing","letterSpacingRatio","fontWeight"],"sourceRoot":"../../../src","sources":["primitives/text.styles.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["DEFAULT_MIN_LINE_HEIGHT_RATIO","clampLineHeight","resolveTextShape","theme","variant","role","weight","fs","typography","fontSize","lineHeight","minLineHeightRatio","letterSpacing","letterSpacingRatio","fontWeight"],"sourceRoot":"../../../src","sources":["primitives/text.styles.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA,SAASA,6BAA6B,EAAEC,eAAe,QAAQ,yBAAsB;;AAErF;;AAGA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9BC,KAAkB,EAClBC,OAAoB,EACpBC,IAAc,EACdC,MAAsB,EACX;EACX,MAAMC,EAAE,GAAGJ,KAAK,CAACK,UAAU,CAACC,QAAQ,CAACL,OAAO,CAAC;EAC7C,OAAO;IACLK,QAAQ,EAAEF,EAAE,CAACE,QAAQ;IACrB;IACA;IACAC,UAAU,EAAET,eAAe,CACzBM,EAAE,CAACE,QAAQ,EACXF,EAAE,CAACG,UAAU,EACbP,KAAK,CAACK,UAAU,CAACG,kBAAkB,IAAIX,6BACzC,CAAC;IACDY,aAAa,EAAEL,EAAE,CAACE,QAAQ,GAAGN,KAAK,CAACK,UAAU,CAACK,kBAAkB,CAACR,IAAI,CAAC;IACtE,IAAIC,MAAM,GAAG;MAAEQ,UAAU,EAAEX,KAAK,CAACK,UAAU,CAACM,UAAU,CAACR,MAAM;IAAE,CAAC,GAAG,IAAI;EACzE,CAAC;AACH","ignoreList":[]}
|
|
@@ -310,6 +310,19 @@ export function validateTheme(options) {
|
|
|
310
310
|
problems.push(`${where}: ${label} に欠けているキー — ${missing.join(", ")}`);
|
|
311
311
|
}
|
|
312
312
|
}
|
|
313
|
+
|
|
314
|
+
// minLineHeightRatio は任意欄だが、書くなら実在しうる比率であること
|
|
315
|
+
// (0.9 のような「詰め」を宣言されると clamp が下限の意味を失う。上限は設けない——
|
|
316
|
+
// 行間をいくら広げても字形は欠けないので、広い分には嘘にならない)。
|
|
317
|
+
// missingKeys と同じ方針で **accessor は呼ばない**(値の直読みは消費者の開発用プローブを
|
|
318
|
+
// 発火させ、「defineTheme は accessor を1度も呼ばない」契約を破る)。data property のみ検査する。
|
|
319
|
+
const minRatioDesc = options.typography !== null && typeof options.typography === "object" ? Object.getOwnPropertyDescriptor(options.typography, "minLineHeightRatio") : undefined;
|
|
320
|
+
if (minRatioDesc !== undefined && "value" in minRatioDesc && minRatioDesc.value !== undefined) {
|
|
321
|
+
const minRatio = minRatioDesc.value;
|
|
322
|
+
if (typeof minRatio !== "number" || !Number.isFinite(minRatio) || minRatio < 1) {
|
|
323
|
+
problems.push(`${where}: typography.minLineHeightRatio が不正 — ${String(minRatio)}(フォント実測の 1 以上の有限数を宣言する。根拠は theme/line-height.ts)`);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
313
326
|
const status = options.color?.status;
|
|
314
327
|
if (status !== null && typeof status === "object") {
|
|
315
328
|
for (const kind of STATUS_KINDS) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isDev","__DEV__","globalThis","process","env","NODE_ENV","keysOf","map","Object","keys","MODES","light","dark","SEMANTIC_KEYS","PRIMARY_KEYS","STATUS_KINDS","success","warning","danger","STATUS_COLOR_KEYS","base","subtleLight","textLight","subtleDark","textDark","SPACING_KEYS","RADIUS_KEYS","sm","md","lg","full","ELEVATION_KEYS","none","overlay","FONT_SIZE_KEYS","xxs","xs","xl","FONT_WEIGHT_KEYS","normal","medium","semibold","bold","declaredModes","semantic","withValue","Set","filter","mode","has","deriveColorScheme","modes","length","Error","supportedModes","colorScheme","unknown","String","resolveMode","forcedMode","systemMode","supported","requested","includes","resolved","undefined","violation","kind","missingKeys","target","key","descriptor","getOwnPropertyDescriptor","value","validateTheme","options","problems","where","id","color","push","unknownModes","missing","join","groups","primary","spacing","radius","elevation","typography","fontSize","fontWeight","status","label","prototype","hasOwnProperty","call","installMissingModeGuards","defineProperty","enumerable","configurable","get","isPlainObject","proto","getPrototypeOf","cloneTokenTree","Array","isArray","item","source","getOwnPropertyDescriptors","Reflect","ownKeys","defineProperties","deepFreeze","isFrozen","freeze","descriptors","values","defineTheme","owned","theme","capabilities","$$melta"],"sourceRoot":"../../../src","sources":["theme/define-theme.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isDev","__DEV__","globalThis","process","env","NODE_ENV","keysOf","map","Object","keys","MODES","light","dark","SEMANTIC_KEYS","PRIMARY_KEYS","STATUS_KINDS","success","warning","danger","STATUS_COLOR_KEYS","base","subtleLight","textLight","subtleDark","textDark","SPACING_KEYS","RADIUS_KEYS","sm","md","lg","full","ELEVATION_KEYS","none","overlay","FONT_SIZE_KEYS","xxs","xs","xl","FONT_WEIGHT_KEYS","normal","medium","semibold","bold","declaredModes","semantic","withValue","Set","filter","mode","has","deriveColorScheme","modes","length","Error","supportedModes","colorScheme","unknown","String","resolveMode","forcedMode","systemMode","supported","requested","includes","resolved","undefined","violation","kind","missingKeys","target","key","descriptor","getOwnPropertyDescriptor","value","validateTheme","options","problems","where","id","color","push","unknownModes","missing","join","groups","primary","spacing","radius","elevation","typography","fontSize","fontWeight","status","label","minRatioDesc","minRatio","Number","isFinite","prototype","hasOwnProperty","call","installMissingModeGuards","defineProperty","enumerable","configurable","get","isPlainObject","proto","getPrototypeOf","cloneTokenTree","Array","isArray","item","source","getOwnPropertyDescriptors","Reflect","ownKeys","defineProperties","deepFreeze","isFrozen","freeze","descriptors","values","defineTheme","owned","theme","capabilities","$$melta"],"sourceRoot":"../../../src","sources":["theme/define-theme.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ export * from "./types.js";
|
|
|
10
10
|
export { nativeTheme } from "./native-theme.js";
|
|
11
11
|
export { ThemeProvider, useTheme } from "./ThemeProvider.js";
|
|
12
12
|
export { defineTheme } from "./define-theme.js";
|
|
13
|
+
export { DEFAULT_MIN_LINE_HEIGHT_RATIO, minLineHeightFor, clampLineHeight } from "./line-height.js";
|
|
13
14
|
/**
|
|
14
15
|
* 以下は theme の解決規則を外から検証・再利用するためのヘルパ。
|
|
15
16
|
* **@experimental — 安定 API ではない。** 挙動・シグネチャ・メッセージは予告なく変わりうる。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["nativeTheme","ThemeProvider","useTheme","defineTheme","validateTheme","resolveMode","supportedModes","deriveColorScheme","declaredModes","resolveLetterSpacing","fontSize","ratio"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA,cAAc,YAAS;AACvB,SAASA,WAAW,QAAQ,mBAAgB;AAC5C,SAASC,aAAa,EAAEC,QAAQ,QAAQ,oBAAiB;AAEzD,SAASC,WAAW,QAAQ,mBAAgB;AAC5C;AACA;AACA;AACA;AACA;AACA,SACEC,aAAa,EACbC,WAAW,EACXC,cAAc,EACdC,iBAAiB,EACjBC,aAAa,QACR,mBAAgB;AASvB;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAACC,QAAgB,EAAEC,KAAa,EAAU;EAC5E,OAAOD,QAAQ,GAAGC,KAAK;AACzB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["nativeTheme","ThemeProvider","useTheme","defineTheme","DEFAULT_MIN_LINE_HEIGHT_RATIO","minLineHeightFor","clampLineHeight","validateTheme","resolveMode","supportedModes","deriveColorScheme","declaredModes","resolveLetterSpacing","fontSize","ratio"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA,cAAc,YAAS;AACvB,SAASA,WAAW,QAAQ,mBAAgB;AAC5C,SAASC,aAAa,EAAEC,QAAQ,QAAQ,oBAAiB;AAEzD,SAASC,WAAW,QAAQ,mBAAgB;AAC5C,SACEC,6BAA6B,EAC7BC,gBAAgB,EAChBC,eAAe,QACV,kBAAe;AACtB;AACA;AACA;AACA;AACA;AACA,SACEC,aAAa,EACbC,WAAW,EACXC,cAAc,EACdC,iBAAiB,EACjBC,aAAa,QACR,mBAAgB;AASvB;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAACC,QAAgB,EAAEC,KAAa,EAAU;EAC5E,OAAOD,QAAQ,GAAGC,KAAK;AACzB","ignoreList":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* line-height — 行間の安全下限(フォントの字形を欠かせない最小 lineHeight)。
|
|
5
|
+
*
|
|
6
|
+
* なぜ要るか(2026-08-05 modelog dogfood で実害):
|
|
7
|
+
* RN Android の CustomLineHeightSpan は `leading = lineHeight - (ascent + descent)` を計算し、
|
|
8
|
+
* leading が負になると不足分を行の上下から半分ずつ削って帳尻を合わせる。削られた領域の字形
|
|
9
|
+
* (濁点は行の上端にある)は Text 既定の overflow: hidden で消える——「ギ」が「チ」に見える。
|
|
10
|
+
* web はこの機序を持たないため、web の実描画検査では検出できない(Android 実機のみで発現)。
|
|
11
|
+
*
|
|
12
|
+
* 下限は使用フォントのメトリクス(ascent + descent)に依存するが、melta はフォントを同梱しない
|
|
13
|
+
* (system フォント運用)ので、既定は **Android の日本語 system フォント Noto Sans CJK JP の
|
|
14
|
+
* 実測 1.448**(hhea: (1160 + 288) / 1000。AOSP 版・Google Fonts 版とも同値、2026-08-06 実測)
|
|
15
|
+
* を切り上げた 1.45 とする。iOS(Hiragino 1.50 相当)にはこの clip 機序が無いので基準にしない。
|
|
16
|
+
*
|
|
17
|
+
* フォントを同梱する消費者は、そのフォントの実測比率を theme の
|
|
18
|
+
* `typography.minLineHeightRatio` で宣言する(例: LINE Seed JP = 1.61)。
|
|
19
|
+
* 宣言が既定より小さいラテン専用フォント(例: Inter 1.21)も同じ口で下げられる。
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* 既定の最小行間比。Android system 日本語フォント(Noto Sans CJK JP)の実測 1.448 の切り上げ。
|
|
24
|
+
* theme が `typography.minLineHeightRatio` を宣言しない場合にこの値へ倒れる(日本語安全側)。
|
|
25
|
+
*/
|
|
26
|
+
export const DEFAULT_MIN_LINE_HEIGHT_RATIO = 1.45;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* fontSize に対する安全な最小 lineHeight(px)。
|
|
30
|
+
* **切り上げ**であることが要点: 四捨五入だと 32 × 1.45 = 46.4 → 46 で下限を割る。
|
|
31
|
+
*/
|
|
32
|
+
export function minLineHeightFor(fontSize, minRatio) {
|
|
33
|
+
return Math.ceil(fontSize * minRatio);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* 宣言された lineHeight を安全下限でクランプする。
|
|
38
|
+
* 宣言値が下限以上ならそのまま(意匠の行間はどこまでも広げられる。詰める方向だけを止める)。
|
|
39
|
+
*/
|
|
40
|
+
export function clampLineHeight(fontSize, declaredLineHeight, minRatio) {
|
|
41
|
+
return Math.max(declaredLineHeight, minLineHeightFor(fontSize, minRatio));
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=line-height.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_MIN_LINE_HEIGHT_RATIO","minLineHeightFor","fontSize","minRatio","Math","ceil","clampLineHeight","declaredLineHeight","max"],"sourceRoot":"../../../src","sources":["theme/line-height.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMA,6BAA6B,GAAG,IAAI;;AAEjD;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,QAAgB,EAAEC,QAAgB,EAAU;EAC3E,OAAOC,IAAI,CAACC,IAAI,CAACH,QAAQ,GAAGC,QAAQ,CAAC;AACvC;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASG,eAAeA,CAC7BJ,QAAgB,EAChBK,kBAA0B,EAC1BJ,QAAgB,EACR;EACR,OAAOC,IAAI,CAACI,GAAG,CAACD,kBAAkB,EAAEN,gBAAgB,CAACC,QAAQ,EAAEC,QAAQ,CAAC,CAAC;AAC3E","ignoreList":[]}
|
|
@@ -81,11 +81,11 @@ export const nativeTheme = {
|
|
|
81
81
|
"fontSize": {
|
|
82
82
|
"xxs": {
|
|
83
83
|
"fontSize": 10,
|
|
84
|
-
"lineHeight":
|
|
84
|
+
"lineHeight": 15
|
|
85
85
|
},
|
|
86
86
|
"xs": {
|
|
87
87
|
"fontSize": 13,
|
|
88
|
-
"lineHeight":
|
|
88
|
+
"lineHeight": 19
|
|
89
89
|
},
|
|
90
90
|
"sm": {
|
|
91
91
|
"fontSize": 15,
|
|
@@ -101,15 +101,15 @@ export const nativeTheme = {
|
|
|
101
101
|
},
|
|
102
102
|
"xl": {
|
|
103
103
|
"fontSize": 22,
|
|
104
|
-
"lineHeight":
|
|
104
|
+
"lineHeight": 32
|
|
105
105
|
},
|
|
106
106
|
"2xl": {
|
|
107
107
|
"fontSize": 26,
|
|
108
|
-
"lineHeight":
|
|
108
|
+
"lineHeight": 38
|
|
109
109
|
},
|
|
110
110
|
"3xl": {
|
|
111
111
|
"fontSize": 32,
|
|
112
|
-
"lineHeight":
|
|
112
|
+
"lineHeight": 47
|
|
113
113
|
}
|
|
114
114
|
},
|
|
115
115
|
"fontWeight": {
|
|
@@ -121,7 +121,8 @@ export const nativeTheme = {
|
|
|
121
121
|
"letterSpacingRatio": {
|
|
122
122
|
"heading": 0.01,
|
|
123
123
|
"body": 0.02
|
|
124
|
-
}
|
|
124
|
+
},
|
|
125
|
+
"minLineHeightRatio": 1.45
|
|
125
126
|
},
|
|
126
127
|
"spacing": {
|
|
127
128
|
"1": 4,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["nativeTheme"],"sourceRoot":"../../../src","sources":["theme/native-theme.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["nativeTheme"],"sourceRoot":"../../../src","sources":["theme/native-theme.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/primitives/Text.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/primitives/Text.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAA8B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1F,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEhE,KAAK,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAErC,UAAU,SAAS;IACjB,qDAAqD;IACrD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,wCAAwC;IACxC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,cAAc,CAAC;IAC7B,yCAAyC;IACzC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,IAAI,CAAC,EACnB,OAAgB,EAChB,MAAM,EACN,KAAsB,EACtB,IAAa,EACb,aAAa,EACb,KAAK,EACL,MAAM,EACN,QAAQ,GACT,EAAE,SAAS,2CAoCX;yBA7Ce,IAAI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric.styles.d.ts","sourceRoot":"","sources":["../../../../src/primitives/metric.styles.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"metric.styles.d.ts","sourceRoot":"","sources":["../../../../src/primitives/metric.styles.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIrF,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAIrF,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,eAAe,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,WAAW,EAAE,CAAC;KAC5B,CAAC;IACF,kFAAkF;IAClF,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,eAAe,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,mCAAmC;IACnC,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,UAAU,GACf,YAAY,CA4Bd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.styles.d.ts","sourceRoot":"","sources":["../../../../src/primitives/text.styles.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"text.styles.d.ts","sourceRoot":"","sources":["../../../../src/primitives/text.styles.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKzF,mEAAmE;AACnE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1C,sEAAsE;AACtE,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,QAAQ,EACd,MAAM,CAAC,EAAE,aAAa,GACrB,SAAS,CAcX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-theme.d.ts","sourceRoot":"","sources":["../../../../src/theme/define-theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAIV,WAAW,EAGX,cAAc,EAGd,UAAU,EACV,SAAS,EACV,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,KAAK,EAAE,OAID,CAAC;AAMpB,4DAA4D;AAC5D,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,cAAc,GAAG,aAAa,CAAC;AAElF;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,qBAAqB,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9D,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG;QACpC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;KACtD,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;CAC7C;AAED,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,yBAAyB,CAAC;IAChC,oCAAoC;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,oBAAoB;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,qBAAqB,CAAC;CACpC;AA0GD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,GAAG,SAAS,EAAE,CAG/F;AAED,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,GACnD,qBAAqB,CAQvB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,qBAAqB,GAAG,SAAS,EAAE,CAa9E;AAMD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,qBAAqB,EAClC,UAAU,EAAE,SAAS,GAAG,SAAS,EACjC,UAAU,EAAE,SAAS,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAgBrD;AA2BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"define-theme.d.ts","sourceRoot":"","sources":["../../../../src/theme/define-theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAIV,WAAW,EAGX,cAAc,EAGd,UAAU,EACV,SAAS,EACV,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,KAAK,EAAE,OAID,CAAC;AAMpB,4DAA4D;AAC5D,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,cAAc,GAAG,aAAa,CAAC;AAElF;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,qBAAqB,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9D,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG;QACpC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;KACtD,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;CAC7C;AAED,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,yBAAyB,CAAC;IAChC,oCAAoC;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,oBAAoB;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,qBAAqB,CAAC;CACpC;AA0GD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,GAAG,SAAS,EAAE,CAG/F;AAED,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,GACnD,qBAAqB,CAQvB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,qBAAqB,GAAG,SAAS,EAAE,CAa9E;AAMD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,qBAAqB,EAClC,UAAU,EAAE,SAAS,GAAG,SAAS,EACjC,UAAU,EAAE,SAAS,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAgBrD;AA2BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,EAAE,CA0E7D;AA4FD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,mBAAmB,CA4BtE"}
|
|
@@ -8,6 +8,7 @@ export { nativeTheme } from "./native-theme";
|
|
|
8
8
|
export { ThemeProvider, useTheme } from "./ThemeProvider";
|
|
9
9
|
export type { ThemeContextValue, ThemeMode } from "./ThemeProvider";
|
|
10
10
|
export { defineTheme } from "./define-theme";
|
|
11
|
+
export { DEFAULT_MIN_LINE_HEIGHT_RATIO, minLineHeightFor, clampLineHeight, } from "./line-height";
|
|
11
12
|
/**
|
|
12
13
|
* 以下は theme の解決規則を外から検証・再利用するためのヘルパ。
|
|
13
14
|
* **@experimental — 安定 API ではない。** 挙動・シグネチャ・メッセージは予告なく変わりうる。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/theme/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C;;;;GAIG;AACH,OAAO,EACL,aAAa,EACb,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5E"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/theme/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB;;;;GAIG;AACH,OAAO,EACL,aAAa,EACb,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5E"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* line-height — 行間の安全下限(フォントの字形を欠かせない最小 lineHeight)。
|
|
3
|
+
*
|
|
4
|
+
* なぜ要るか(2026-08-05 modelog dogfood で実害):
|
|
5
|
+
* RN Android の CustomLineHeightSpan は `leading = lineHeight - (ascent + descent)` を計算し、
|
|
6
|
+
* leading が負になると不足分を行の上下から半分ずつ削って帳尻を合わせる。削られた領域の字形
|
|
7
|
+
* (濁点は行の上端にある)は Text 既定の overflow: hidden で消える——「ギ」が「チ」に見える。
|
|
8
|
+
* web はこの機序を持たないため、web の実描画検査では検出できない(Android 実機のみで発現)。
|
|
9
|
+
*
|
|
10
|
+
* 下限は使用フォントのメトリクス(ascent + descent)に依存するが、melta はフォントを同梱しない
|
|
11
|
+
* (system フォント運用)ので、既定は **Android の日本語 system フォント Noto Sans CJK JP の
|
|
12
|
+
* 実測 1.448**(hhea: (1160 + 288) / 1000。AOSP 版・Google Fonts 版とも同値、2026-08-06 実測)
|
|
13
|
+
* を切り上げた 1.45 とする。iOS(Hiragino 1.50 相当)にはこの clip 機序が無いので基準にしない。
|
|
14
|
+
*
|
|
15
|
+
* フォントを同梱する消費者は、そのフォントの実測比率を theme の
|
|
16
|
+
* `typography.minLineHeightRatio` で宣言する(例: LINE Seed JP = 1.61)。
|
|
17
|
+
* 宣言が既定より小さいラテン専用フォント(例: Inter 1.21)も同じ口で下げられる。
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* 既定の最小行間比。Android system 日本語フォント(Noto Sans CJK JP)の実測 1.448 の切り上げ。
|
|
21
|
+
* theme が `typography.minLineHeightRatio` を宣言しない場合にこの値へ倒れる(日本語安全側)。
|
|
22
|
+
*/
|
|
23
|
+
export declare const DEFAULT_MIN_LINE_HEIGHT_RATIO = 1.45;
|
|
24
|
+
/**
|
|
25
|
+
* fontSize に対する安全な最小 lineHeight(px)。
|
|
26
|
+
* **切り上げ**であることが要点: 四捨五入だと 32 × 1.45 = 46.4 → 46 で下限を割る。
|
|
27
|
+
*/
|
|
28
|
+
export declare function minLineHeightFor(fontSize: number, minRatio: number): number;
|
|
29
|
+
/**
|
|
30
|
+
* 宣言された lineHeight を安全下限でクランプする。
|
|
31
|
+
* 宣言値が下限以上ならそのまま(意匠の行間はどこまでも広げられる。詰める方向だけを止める)。
|
|
32
|
+
*/
|
|
33
|
+
export declare function clampLineHeight(fontSize: number, declaredLineHeight: number, minRatio: number): number;
|
|
34
|
+
//# sourceMappingURL=line-height.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-height.d.ts","sourceRoot":"","sources":["../../../../src/theme/line-height.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;GAGG;AACH,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAElD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,EAAE,MAAM,GACf,MAAM,CAER"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-theme.d.ts","sourceRoot":"","sources":["../../../../src/theme/native-theme.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"native-theme.d.ts","sourceRoot":"","sources":["../../../../src/theme/native-theme.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,WAAW,EAAE,WAuNzB,CAAC"}
|
|
@@ -84,6 +84,15 @@ export interface ThemeTypography {
|
|
|
84
84
|
heading: number;
|
|
85
85
|
body: number;
|
|
86
86
|
};
|
|
87
|
+
/**
|
|
88
|
+
* 使用フォントが要求する最小行間比((ascent + descent) / unitsPerEm)。
|
|
89
|
+
* これを下回る lineHeight は RN Android で字形の描画領域を削り、濁点などが欠ける
|
|
90
|
+
* (機序と既定値 1.45 の根拠は theme/line-height.ts のコメント)。
|
|
91
|
+
* style resolver は `clampLineHeight()` でこの比率を下限として適用する。
|
|
92
|
+
* 未宣言は DEFAULT_MIN_LINE_HEIGHT_RATIO(1.45 = Android system 日本語フォント基準)へ倒れる。
|
|
93
|
+
* フォントを同梱する消費者は実測値を宣言する(例: LINE Seed JP = 1.61)。
|
|
94
|
+
*/
|
|
95
|
+
minLineHeightRatio?: number;
|
|
87
96
|
}
|
|
88
97
|
/**
|
|
89
98
|
* elevation 1段。iOS は shadow* を、Android は elevation を読む(互いに無視するので
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/theme/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC,uCAAuC;AACvC,MAAM,MAAM,YAAY,GACpB,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AAEV,oDAAoD;AACpD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QAAE,KAAK,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,cAAc,CAAA;KAAE,CAAC;IAC1D,MAAM,EAAE;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC;CAChF;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AACrF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AACtE,uDAAuD;AACvD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,UAAU,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IACnD;;;;;;OAMG;IACH,kBAAkB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/theme/types.ts"],"names":[],"mappings":"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"}
|
package/llms.txt
CHANGED
|
@@ -6,7 +6,8 @@ UI を組む前に docs/patterns.md(組み方の規範)を読むこと。exa
|
|
|
6
6
|
|
|
7
7
|
## Docs
|
|
8
8
|
|
|
9
|
-
- [README.md](https://github.com/tsubotax/melta-app#readme):
|
|
9
|
+
- [README.md](https://github.com/tsubotax/melta-app#readme): 使う側の全体像(Quickstart / 利用側コードの lint 強制層 / コンポーネント表 / テーマ注入 / 制約)
|
|
10
|
+
- [architecture.md](https://github.com/tsubotax/melta-app/blob/main/docs/architecture.md): 触る側の台帳(ディレクトリ構成 / トークン正規化 web→RN / 実装ステータス詳細 / CI)
|
|
10
11
|
- [patterns.md](https://app.melta.tsubotax.com/docs/patterns.md): フォーム等「組み方」の規範 + コピペ可能スニペット(実コードと drift 検査済み)
|
|
11
12
|
- [showcase](https://app.melta.tsubotax.com/): Live Catalog(実 RN コンポーネントの web export)+ 実装状態の全量表
|
|
12
13
|
- [tokens.json](https://melta.tsubotax.com/design/contracts/tokens.json): デザイントークン(契約 SSOT の配信面)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "melta-app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "melta for APP — melta デザインシステムの React Native UI kit。melta-contracts(デザイン契約)を single source of truth に RN 実装でその契約を満たす。アプリ本体ではなくライブラリ。",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://app.melta.tsubotax.com",
|
package/src/primitives/Text.tsx
CHANGED
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import { useMemo, type ReactNode } from "react";
|
|
16
|
-
import { Text as RNText, type StyleProp, type TextStyle } from "react-native";
|
|
17
|
-
import { useTheme } from "../theme";
|
|
16
|
+
import { StyleSheet, Text as RNText, type StyleProp, type TextStyle } from "react-native";
|
|
17
|
+
import { useTheme, DEFAULT_MIN_LINE_HEIGHT_RATIO, minLineHeightFor } from "../theme";
|
|
18
18
|
import type { FontWeightKey, SemanticColors } from "../theme";
|
|
19
19
|
import { CONTRACTS, type VariantOf } from "../contracts/contract-types";
|
|
20
20
|
import { resolveTextShape, type TextRole } from "./text.styles";
|
|
@@ -55,9 +55,25 @@ export function Text({
|
|
|
55
55
|
[theme, variant, role, weight],
|
|
56
56
|
);
|
|
57
57
|
|
|
58
|
+
// 消費者 style は合成順で最後=上書きが勝つため、resolver 内のクランプだけでは
|
|
59
|
+
// `style={{lineHeight: 16}}` を止められない。flatten した**最終値**に行間の安全下限を掛ける
|
|
60
|
+
// (fontSize の上書きにも追随させるため、下限は最終 fontSize から算出。機序は theme/line-height.ts)。
|
|
61
|
+
const flat: TextStyle = StyleSheet.flatten([shape, { color: colors[color] }, style]);
|
|
62
|
+
// `fontSize: undefined` の明示上書き(flatten は undefined でも上書きする)は、RN 既定サイズで
|
|
63
|
+
// 描画されるのにクランプ基準だけ variant 値になる齟齬を生む。variant の fontSize を復元して
|
|
64
|
+
// 「Text の文字サイズは variant が決める」契約とクランプ基準を一致させる。
|
|
65
|
+
if (typeof flat.fontSize !== "number") flat.fontSize = shape.fontSize;
|
|
66
|
+
if (flat.lineHeight !== undefined) {
|
|
67
|
+
const floor = minLineHeightFor(
|
|
68
|
+
flat.fontSize ?? 0,
|
|
69
|
+
theme.typography.minLineHeightRatio ?? DEFAULT_MIN_LINE_HEIGHT_RATIO,
|
|
70
|
+
);
|
|
71
|
+
if (flat.lineHeight < floor) flat.lineHeight = floor;
|
|
72
|
+
}
|
|
73
|
+
|
|
58
74
|
return (
|
|
59
75
|
<RNText
|
|
60
|
-
style={
|
|
76
|
+
style={flat}
|
|
61
77
|
numberOfLines={numberOfLines}
|
|
62
78
|
accessibilityRole={role === "heading" ? "header" : undefined}
|
|
63
79
|
testID={testID}
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
import type { FontVariant } from "react-native";
|
|
10
10
|
import type { NativeTheme, ThemeMode, FontSizeKey, FontWeightValue } from "../theme";
|
|
11
|
+
// theme index からの runtime import は ThemeProvider → react-native を引くため pure module を直接参照
|
|
12
|
+
import { DEFAULT_MIN_LINE_HEIGHT_RATIO, clampLineHeight } from "../theme/line-height";
|
|
11
13
|
|
|
12
14
|
export type MetricSize = "sm" | "md" | "lg";
|
|
13
15
|
|
|
@@ -56,7 +58,12 @@ export function resolveMetricStyles(
|
|
|
56
58
|
return {
|
|
57
59
|
valueStyle: {
|
|
58
60
|
fontSize: fontSize[font.value].fontSize,
|
|
59
|
-
|
|
61
|
+
// カスタム theme の未クランプ値への防波堤(text.styles.ts と同じ。根拠は theme/line-height.ts)
|
|
62
|
+
lineHeight: clampLineHeight(
|
|
63
|
+
fontSize[font.value].fontSize,
|
|
64
|
+
fontSize[font.value].lineHeight,
|
|
65
|
+
theme.typography.minLineHeightRatio ?? DEFAULT_MIN_LINE_HEIGHT_RATIO,
|
|
66
|
+
),
|
|
60
67
|
fontWeight: theme.typography.fontWeight.bold,
|
|
61
68
|
color: sem["text-heading"],
|
|
62
69
|
fontVariant: ["tabular-nums"],
|
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import type { NativeTheme, FontSizeKey, FontWeightKey, FontWeightValue } from "../theme";
|
|
10
|
+
// theme index からの runtime import は ThemeProvider → react-native を引くため、
|
|
11
|
+
// pure module(line-height.ts)を直接参照する(letterSpacing の式直書きと同じ理由)。
|
|
12
|
+
import { DEFAULT_MIN_LINE_HEIGHT_RATIO, clampLineHeight } from "../theme/line-height";
|
|
10
13
|
|
|
11
14
|
/** letterSpacing の切替軸(text.recipe description の role prop に対応)。 */
|
|
12
15
|
export type TextRole = "heading" | "body";
|
|
@@ -35,7 +38,13 @@ export function resolveTextShape(
|
|
|
35
38
|
const fs = theme.typography.fontSize[variant];
|
|
36
39
|
return {
|
|
37
40
|
fontSize: fs.fontSize,
|
|
38
|
-
|
|
41
|
+
// 既定 theme は codegen 時点でクランプ済みだが、defineTheme で注入されたカスタム theme の
|
|
42
|
+
// 値はここが最初の防波堤(機序と下限の根拠は theme/line-height.ts)。
|
|
43
|
+
lineHeight: clampLineHeight(
|
|
44
|
+
fs.fontSize,
|
|
45
|
+
fs.lineHeight,
|
|
46
|
+
theme.typography.minLineHeightRatio ?? DEFAULT_MIN_LINE_HEIGHT_RATIO,
|
|
47
|
+
),
|
|
39
48
|
letterSpacing: fs.fontSize * theme.typography.letterSpacingRatio[role],
|
|
40
49
|
...(weight ? { fontWeight: theme.typography.fontWeight[weight] } : null),
|
|
41
50
|
};
|