zkit-ui 2.0.1 → 2.0.3

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.
@@ -14,7 +14,7 @@ export interface TextProps extends NativeTextProps {
14
14
  */
15
15
  variant?: TextVariant;
16
16
  /**
17
- * Named type scale token, or an unscaled design pixel size that will be resolved through wp(...).
17
+ * Named type scale token, or a numeric native font size.
18
18
  */
19
19
  size?: TextSizeValue;
20
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/Text/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,IAAI,IAAI,MAAM,EAEd,KAAK,SAAS,EACd,KAAK,SAAS,IAAI,WAAW,EAC7B,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAKtB,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAClG,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AACxF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC9C,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,SAAS,GACT,SAAS,GACT,QAAQ,GACR,MAAM,GACN,UAAU,GACV,SAAS,GACT,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AACd,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,QAAQ,GACR,UAAU,GACV,MAAM,GACN,OAAO,GACP,OAAO,GACP,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;AACzC,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5C,KAAK,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,UAAU,GAAG,eAAe,GAAG,eAAe,CAAC,CAAC;AAEnG,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,MAAM,CAAC,CAAC;AAExD,MAAM,WAAW,SAAU,SAAQ,eAAe;IAChD;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAgcD,eAAO,MAAM,IAAI,qEAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/Text/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,IAAI,IAAI,MAAM,EAEd,KAAK,SAAS,EACd,KAAK,SAAS,IAAI,WAAW,EAC7B,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAKtB,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAClG,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AACxF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC9C,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,SAAS,GACT,SAAS,GACT,QAAQ,GACR,MAAM,GACN,UAAU,GACV,SAAS,GACT,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AACd,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,QAAQ,GACR,UAAU,GACV,MAAM,GACN,OAAO,GACP,OAAO,GACP,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;AACzC,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5C,KAAK,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,UAAU,GAAG,eAAe,GAAG,eAAe,CAAC,CAAC;AAEnG,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,MAAM,CAAC,CAAC;AAExD,MAAM,WAAW,SAAU,SAAQ,eAAe;IAChD;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAqcD,eAAO,MAAM,IAAI,qEAAuB,CAAC"}
@@ -248,6 +248,9 @@ function resolveTypographyToken(size) {
248
248
  lineHeight: Math.ceil(fontSize * DEFAULT_LINE_HEIGHT_RATIO),
249
249
  };
250
250
  }
251
+ function shouldScaleTypographyToken(size) {
252
+ return typeof size === 'string' || !isFiniteNumber(size);
253
+ }
251
254
  function readStyleNumber(style, key) {
252
255
  const value = style === null || style === void 0 ? void 0 : style[key];
253
256
  return isFiniteNumber(value) ? Math.max(0, value) : undefined;
@@ -255,21 +258,22 @@ function readStyleNumber(style, key) {
255
258
  function resolveTypographyStyle({ explicitLineHeight, hasExplicitSize, shouldUseVariantDefaults, size, styleFontSize, styleLineHeight, }) {
256
259
  const shouldResolveSize = hasExplicitSize || shouldUseVariantDefaults;
257
260
  const token = shouldResolveSize ? resolveTypographyToken(size) : undefined;
261
+ const shouldScaleToken = shouldResolveSize ? shouldScaleTypographyToken(size) : false;
258
262
  const nextStyle = {};
259
263
  let hasStyle = false;
260
264
  if (token) {
261
- nextStyle.fontSize = (0, zkit_tools_1.wp)(token.fontSize);
265
+ nextStyle.fontSize = shouldScaleToken ? (0, zkit_tools_1.wp)(token.fontSize) : token.fontSize;
262
266
  hasStyle = true;
263
267
  }
264
268
  if (styleLineHeight != null) {
265
269
  return hasStyle ? nextStyle : undefined;
266
270
  }
267
271
  if (isFiniteNumber(explicitLineHeight)) {
268
- nextStyle.lineHeight = (0, zkit_tools_1.wp)(Math.max(0, explicitLineHeight));
272
+ nextStyle.lineHeight = Math.max(0, explicitLineHeight);
269
273
  hasStyle = true;
270
274
  }
271
275
  else if (token && styleFontSize == null) {
272
- nextStyle.lineHeight = (0, zkit_tools_1.wp)(token.lineHeight);
276
+ nextStyle.lineHeight = shouldScaleToken ? (0, zkit_tools_1.wp)(token.lineHeight) : token.lineHeight;
273
277
  hasStyle = true;
274
278
  }
275
279
  return hasStyle ? nextStyle : undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zkit-ui",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -186,11 +186,19 @@
186
186
  "publishConfig": {
187
187
  "registry": "https://registry.npmjs.org/"
188
188
  },
189
+ "scripts": {
190
+ "build": "node scripts/build.cjs",
191
+ "verify:entrypoints": "node scripts/verify-entrypoints.cjs",
192
+ "verify": "pnpm run build && pnpm run verify:entrypoints",
193
+ "typecheck": "tsc -p tsconfig.json --noEmit",
194
+ "prepack": "pnpm run build",
195
+ "prepublishOnly": "pnpm run build"
196
+ },
189
197
  "dependencies": {
190
198
  "@vant/area-data": "^2.1.0",
191
199
  "dayjs": "^1.11.13",
192
200
  "react-native-toast-message": "^2.3.3",
193
- "zkit-tools": "1.0.1"
201
+ "zkit-tools": "workspace:*"
194
202
  },
195
203
  "peerDependencies": {
196
204
  "@expo/vector-icons": "*",
@@ -210,6 +218,7 @@
210
218
  },
211
219
  "devDependencies": {
212
220
  "@expo/vector-icons": "^15.1.1",
221
+ "@lodev09/react-native-true-sheet": "workspace:*",
213
222
  "@shopify/flash-list": "^2.3.1",
214
223
  "@types/react": "~19.1.17",
215
224
  "dayjs": "^1.11.13",
@@ -225,13 +234,6 @@
225
234
  "react-native-svg": "^15.12.1",
226
235
  "react-native-worklets": "0.5.1",
227
236
  "sonner-native": "^0.22.2",
228
- "typescript": "~5.9.3",
229
- "@lodev09/react-native-true-sheet": "3.10.0"
230
- },
231
- "scripts": {
232
- "build": "node scripts/build.cjs",
233
- "verify:entrypoints": "node scripts/verify-entrypoints.cjs",
234
- "verify": "pnpm run build && pnpm run verify:entrypoints",
235
- "typecheck": "tsc -p tsconfig.json --noEmit"
237
+ "typescript": "~5.9.3"
236
238
  }
237
- }
239
+ }
@@ -69,8 +69,8 @@ export function Demo() {
69
69
  <Text size="2xl">2xl</Text>
70
70
  <Text size="3xl">3xl</Text>
71
71
  <Text size="4xl">4xl</Text>
72
- <Text size={18} lineHeight={26}>
73
- 自定义设计尺寸
72
+ <Text size={wp(18)} lineHeight={wp(26)}>
73
+ 自定义原生尺寸
74
74
  </Text>
75
75
  </>
76
76
  ```
@@ -89,7 +89,7 @@ export function Demo() {
89
89
  | `3xl` | `wp(30)` | `wp(38)` |
90
90
  | `4xl` | `wp(36)` | `wp(44)` |
91
91
 
92
- 传入数字 `size` 或 `lineHeight` 时,数字代表未缩放的设计像素,组件内部会统一转换。
92
+ 传入数字 `size` 或 `lineHeight` 时,数字代表调用侧已经计算好的原生尺寸,组件内部不会再次 `wp(...)`。
93
93
  通过 `style.fontSize` 直接覆盖字号时,调用侧应传入已经计算好的原生字号;如果没有同时传入 `lineHeight` 或 `style.lineHeight`,组件会移除内置 token 行高,避免字号和行高不匹配。
94
94
 
95
95
  ## 颜色
@@ -52,7 +52,7 @@ export interface TextProps extends NativeTextProps {
52
52
  */
53
53
  variant?: TextVariant;
54
54
  /**
55
- * Named type scale token, or an unscaled design pixel size that will be resolved through wp(...).
55
+ * Named type scale token, or a numeric native font size.
56
56
  */
57
57
  size?: TextSizeValue;
58
58
  /**
@@ -313,6 +313,10 @@ function resolveTypographyToken(size: TextSizeValue): TypographyToken {
313
313
  };
314
314
  }
315
315
 
316
+ function shouldScaleTypographyToken(size: TextSizeValue) {
317
+ return typeof size === 'string' || !isFiniteNumber(size);
318
+ }
319
+
316
320
  function readStyleNumber(style: TextStyle | undefined, key: 'fontSize' | 'lineHeight') {
317
321
  const value = style?.[key];
318
322
  return isFiniteNumber(value) ? Math.max(0, value) : undefined;
@@ -335,11 +339,12 @@ function resolveTypographyStyle({
335
339
  }): TextStyle | undefined {
336
340
  const shouldResolveSize = hasExplicitSize || shouldUseVariantDefaults;
337
341
  const token = shouldResolveSize ? resolveTypographyToken(size) : undefined;
342
+ const shouldScaleToken = shouldResolveSize ? shouldScaleTypographyToken(size) : false;
338
343
  const nextStyle: TextStyle = {};
339
344
  let hasStyle = false;
340
345
 
341
346
  if (token) {
342
- nextStyle.fontSize = wp(token.fontSize);
347
+ nextStyle.fontSize = shouldScaleToken ? wp(token.fontSize) : token.fontSize;
343
348
  hasStyle = true;
344
349
  }
345
350
 
@@ -348,10 +353,10 @@ function resolveTypographyStyle({
348
353
  }
349
354
 
350
355
  if (isFiniteNumber(explicitLineHeight)) {
351
- nextStyle.lineHeight = wp(Math.max(0, explicitLineHeight));
356
+ nextStyle.lineHeight = Math.max(0, explicitLineHeight);
352
357
  hasStyle = true;
353
358
  } else if (token && styleFontSize == null) {
354
- nextStyle.lineHeight = wp(token.lineHeight);
359
+ nextStyle.lineHeight = shouldScaleToken ? wp(token.lineHeight) : token.lineHeight;
355
360
  hasStyle = true;
356
361
  }
357
362