react-native-system-ui 0.0.3 → 0.0.4

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.
Files changed (168) hide show
  1. package/dist/cjs/components/area/Area.js +4 -10
  2. package/dist/cjs/components/avatar/Avatar.js +3 -3
  3. package/dist/cjs/components/avatar/tokens.js +2 -1
  4. package/dist/cjs/components/badge/Badge.js +30 -38
  5. package/dist/cjs/components/button/Button.js +13 -13
  6. package/dist/cjs/components/button/ButtonGroup.js +8 -8
  7. package/dist/cjs/components/calendar/Calendar.js +10 -10
  8. package/dist/cjs/components/cascader/Cascader.js +4 -4
  9. package/dist/cjs/components/cascader/useCascaderExtend.js +5 -15
  10. package/dist/cjs/components/checkbox/CheckboxGroup.js +2 -2
  11. package/dist/cjs/components/circle/Circle.js +2 -2
  12. package/dist/cjs/components/collapse/Collapse.js +13 -16
  13. package/dist/cjs/components/config-provider/ConfigProvider.js +1 -1
  14. package/dist/cjs/components/datetime-picker/DatetimePicker.js +7 -7
  15. package/dist/cjs/components/dialog/Dialog.js +4 -6
  16. package/dist/cjs/components/dialog/tokens.js +2 -1
  17. package/dist/cjs/components/dropdown-menu/DropdownItem.js +53 -52
  18. package/dist/cjs/components/dropdown-menu/DropdownMenu.js +19 -23
  19. package/dist/cjs/components/dropdown-menu/tokens.js +20 -3
  20. package/dist/cjs/components/field/Field.js +6 -6
  21. package/dist/cjs/components/form/Form.js +5 -9
  22. package/dist/cjs/components/grid/Grid.js +4 -4
  23. package/dist/cjs/components/image/Image.js +19 -15
  24. package/dist/cjs/components/image-preview/ImagePreview.js +62 -60
  25. package/dist/cjs/components/image-preview/tokens.js +21 -2
  26. package/dist/cjs/components/index-bar/IndexAnchor.js +7 -6
  27. package/dist/cjs/components/index-bar/IndexBar.js +38 -44
  28. package/dist/cjs/components/index-bar/tokens.js +22 -13
  29. package/dist/cjs/components/index.js +343 -0
  30. package/dist/cjs/components/input/Input.js +7 -10
  31. package/dist/cjs/components/notice-bar/NoticeBar.js +69 -95
  32. package/dist/cjs/components/notify/Notify.js +46 -22
  33. package/dist/cjs/components/notify/defaults.js +2 -2
  34. package/dist/cjs/components/notify/imperative.js +1 -1
  35. package/dist/cjs/components/notify/tokens.js +5 -4
  36. package/dist/cjs/components/number-keyboard/NumberKeyboard.js +12 -12
  37. package/dist/cjs/components/number-keyboard/tokens.js +4 -2
  38. package/dist/cjs/components/overlay/useOverlayStack.js +5 -1
  39. package/dist/cjs/components/pagination/Pagination.js +2 -2
  40. package/dist/cjs/components/password-input/PasswordInput.js +35 -27
  41. package/dist/cjs/components/picker/Picker.js +11 -12
  42. package/dist/cjs/components/picker/WheelPicker.js +9 -9
  43. package/dist/cjs/components/picker/tokens.js +4 -2
  44. package/dist/cjs/components/popup/Popup.js +39 -54
  45. package/dist/cjs/components/popup/tokens.js +2 -1
  46. package/dist/cjs/components/portal/Portal.js +5 -0
  47. package/dist/cjs/components/portal/PortalHost.js +1 -13
  48. package/dist/cjs/components/pull-refresh/PullRefresh.js +46 -27
  49. package/dist/cjs/components/radio/RadioGroup.js +2 -2
  50. package/dist/cjs/components/search/Search.js +52 -67
  51. package/dist/cjs/components/search/tokens.js +2 -1
  52. package/dist/cjs/components/selector/Selector.js +3 -3
  53. package/dist/cjs/components/share-sheet/ShareSheet.js +64 -62
  54. package/dist/cjs/components/share-sheet/tokens.js +15 -2
  55. package/dist/cjs/components/sidebar/Sidebar.js +15 -19
  56. package/dist/cjs/components/sidebar/SidebarItem.js +0 -3
  57. package/dist/cjs/components/skeleton/Skeleton.js +44 -56
  58. package/dist/cjs/components/slider/Slider.js +55 -61
  59. package/dist/cjs/components/stepper/Stepper.js +13 -16
  60. package/dist/cjs/components/stepper/tokens.js +4 -2
  61. package/dist/cjs/components/swiper/Swiper.js +21 -42
  62. package/dist/cjs/components/swiper/useSwiperWeb.js +15 -18
  63. package/dist/cjs/components/tabbar/Tabbar.js +8 -11
  64. package/dist/cjs/components/tabbar/TabbarItem.js +0 -3
  65. package/dist/cjs/components/tabs/Tabs.js +33 -54
  66. package/dist/cjs/components/tabs/tokens.js +9 -1
  67. package/dist/cjs/components/tabs/useTabsScroll.js +4 -0
  68. package/dist/cjs/components/toast/Toast.js +10 -8
  69. package/dist/cjs/components/toast/tokens.js +5 -1
  70. package/dist/cjs/components/typography/Typography.js +17 -30
  71. package/dist/cjs/components/uploader/Uploader.js +49 -46
  72. package/dist/cjs/components/uploader/tokens.js +27 -1
  73. package/dist/cjs/components/water-mark/WaterMark.js +16 -16
  74. package/dist/cjs/hooks/usePresenceAnimation.js +12 -2
  75. package/dist/es/components/area/Area.js +5 -11
  76. package/dist/es/components/avatar/Avatar.js +3 -3
  77. package/dist/es/components/avatar/tokens.js +2 -1
  78. package/dist/es/components/badge/Badge.js +31 -39
  79. package/dist/es/components/button/Button.js +14 -14
  80. package/dist/es/components/button/ButtonGroup.js +7 -7
  81. package/dist/es/components/calendar/Calendar.js +11 -11
  82. package/dist/es/components/cascader/Cascader.js +5 -5
  83. package/dist/es/components/cascader/useCascaderExtend.js +5 -9
  84. package/dist/es/components/checkbox/CheckboxGroup.js +3 -3
  85. package/dist/es/components/circle/Circle.js +3 -3
  86. package/dist/es/components/collapse/Collapse.js +14 -17
  87. package/dist/es/components/config-provider/ConfigProvider.js +2 -2
  88. package/dist/es/components/datetime-picker/DatetimePicker.js +8 -8
  89. package/dist/es/components/dialog/Dialog.js +4 -6
  90. package/dist/es/components/dialog/tokens.js +2 -1
  91. package/dist/es/components/dropdown-menu/DropdownItem.js +53 -52
  92. package/dist/es/components/dropdown-menu/DropdownMenu.js +20 -24
  93. package/dist/es/components/dropdown-menu/tokens.js +20 -3
  94. package/dist/es/components/field/Field.js +7 -7
  95. package/dist/es/components/field/index.js +1 -1
  96. package/dist/es/components/form/Form.js +6 -10
  97. package/dist/es/components/grid/Grid.js +3 -3
  98. package/dist/es/components/image/Image.js +20 -16
  99. package/dist/es/components/image-preview/ImagePreview.js +63 -61
  100. package/dist/es/components/image-preview/tokens.js +21 -2
  101. package/dist/es/components/index-bar/IndexAnchor.js +7 -6
  102. package/dist/es/components/index-bar/IndexBar.js +39 -45
  103. package/dist/es/components/index-bar/tokens.js +22 -13
  104. package/dist/es/components/index.js +50 -1
  105. package/dist/es/components/input/Input.js +8 -11
  106. package/dist/es/components/notice-bar/NoticeBar.js +70 -96
  107. package/dist/es/components/notify/Notify.js +46 -23
  108. package/dist/es/components/notify/defaults.js +2 -2
  109. package/dist/es/components/notify/imperative.js +1 -1
  110. package/dist/es/components/notify/tokens.js +5 -4
  111. package/dist/es/components/number-keyboard/NumberKeyboard.js +13 -13
  112. package/dist/es/components/number-keyboard/tokens.js +4 -2
  113. package/dist/es/components/overlay/useOverlayStack.js +6 -2
  114. package/dist/es/components/pagination/Pagination.js +3 -3
  115. package/dist/es/components/password-input/PasswordInput.js +36 -28
  116. package/dist/es/components/picker/Picker.js +12 -13
  117. package/dist/es/components/picker/WheelPicker.js +10 -10
  118. package/dist/es/components/picker/tokens.js +4 -2
  119. package/dist/es/components/popup/Popup.js +41 -56
  120. package/dist/es/components/popup/tokens.js +2 -1
  121. package/dist/es/components/portal/Portal.js +5 -0
  122. package/dist/es/components/portal/PortalHost.js +1 -13
  123. package/dist/es/components/pull-refresh/PullRefresh.js +47 -28
  124. package/dist/es/components/radio/RadioGroup.js +3 -3
  125. package/dist/es/components/search/Search.js +53 -68
  126. package/dist/es/components/search/tokens.js +2 -1
  127. package/dist/es/components/selector/Selector.js +4 -4
  128. package/dist/es/components/share-sheet/ShareSheet.js +65 -63
  129. package/dist/es/components/share-sheet/tokens.js +15 -2
  130. package/dist/es/components/sidebar/Sidebar.js +14 -18
  131. package/dist/es/components/sidebar/SidebarItem.js +0 -3
  132. package/dist/es/components/skeleton/Skeleton.js +45 -57
  133. package/dist/es/components/slider/Slider.js +56 -62
  134. package/dist/es/components/stepper/Stepper.js +14 -17
  135. package/dist/es/components/stepper/tokens.js +4 -2
  136. package/dist/es/components/swiper/Swiper.js +22 -43
  137. package/dist/es/components/swiper/useSwiperWeb.js +16 -19
  138. package/dist/es/components/tabbar/Tabbar.js +9 -12
  139. package/dist/es/components/tabbar/TabbarItem.js +0 -3
  140. package/dist/es/components/tabs/Tabs.js +34 -55
  141. package/dist/es/components/tabs/tokens.js +9 -1
  142. package/dist/es/components/tabs/useTabsScroll.js +4 -0
  143. package/dist/es/components/toast/Toast.js +10 -8
  144. package/dist/es/components/toast/tokens.js +5 -1
  145. package/dist/es/components/typography/Typography.js +18 -31
  146. package/dist/es/components/uploader/Uploader.js +49 -46
  147. package/dist/es/components/uploader/tokens.js +27 -1
  148. package/dist/es/components/water-mark/WaterMark.js +17 -17
  149. package/dist/es/hooks/usePresenceAnimation.js +12 -2
  150. package/dist/types/components/dialog/tokens.d.ts +1 -0
  151. package/dist/types/components/dropdown-menu/tokens.d.ts +17 -0
  152. package/dist/types/components/field/index.d.ts +1 -1
  153. package/dist/types/components/image-preview/tokens.d.ts +16 -0
  154. package/dist/types/components/index-bar/tokens.d.ts +13 -4
  155. package/dist/types/components/index.d.ts +102 -0
  156. package/dist/types/components/notify/defaults.d.ts +2 -2
  157. package/dist/types/components/number-keyboard/tokens.d.ts +1 -0
  158. package/dist/types/components/password-input/PasswordInput.d.ts +4 -0
  159. package/dist/types/components/picker/tokens.d.ts +2 -0
  160. package/dist/types/components/popup/tokens.d.ts +1 -0
  161. package/dist/types/components/search/tokens.d.ts +1 -0
  162. package/dist/types/components/share-sheet/tokens.d.ts +13 -0
  163. package/dist/types/components/stepper/tokens.d.ts +2 -0
  164. package/dist/types/components/tabs/tokens.d.ts +8 -0
  165. package/dist/types/components/toast/tokens.d.ts +4 -0
  166. package/dist/types/components/uploader/tokens.d.ts +25 -0
  167. package/dist/types/hooks/usePresenceAnimation.d.ts +6 -1
  168. package/package.json +135 -135
@@ -1,5 +1,5 @@
1
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
- import React, { useCallback, useMemo, useState } from 'react';
2
+ import React, { useCallback, useState } from 'react';
3
3
  import { Linking, Text, View } from 'react-native';
4
4
  import { isBoolean, isNumber, isPlainObject } from '../../utils';
5
5
  import { isWeb as isWebPlatform } from '../../platform';
@@ -54,21 +54,18 @@ const TypographyTextBaseInner = /*#__PURE__*/React.forwardRef((props, ref) => {
54
54
  }
55
55
  const fontSize = level ? tokens.sizing.titles[level].fontSize : tokens.sizing.sizes[size];
56
56
  const lineHeight = level ? tokens.sizing.titles[level].lineHeight : fontSize * tokens.sizing.lineHeightMultiplier;
57
- const baseStyle = useMemo(() => {
58
- const textDecorationLine = underline && deleted ? 'underline line-through' : underline ? 'underline' : deleted ? 'line-through' : undefined;
59
- const computedStyle = {
60
- color: resolvedColor,
61
- fontSize,
62
- lineHeight,
63
- fontFamily: tokens.typography.fontFamily,
64
- fontWeight: strong ? tokens.typography.weight.strong : tokens.typography.weight.regular,
65
- includeFontPadding: false,
66
- textDecorationLine,
67
- textAlign: center ? 'center' : undefined,
68
- opacity: disabled ? tokens.opacity.disabled : 1
69
- };
70
- return [computedStyle, style];
71
- }, [resolvedColor, fontSize, lineHeight, tokens.typography.fontFamily, tokens.opacity.disabled, tokens.typography.weight.regular, tokens.typography.weight.strong, strong, center, disabled, underline, deleted, style]);
57
+ const textDecorationLine = underline && deleted ? 'underline line-through' : underline ? 'underline' : deleted ? 'line-through' : undefined;
58
+ const baseStyle = [{
59
+ color: resolvedColor,
60
+ fontSize,
61
+ lineHeight,
62
+ fontFamily: tokens.typography.fontFamily,
63
+ fontWeight: strong ? tokens.typography.weight.strong : tokens.typography.weight.regular,
64
+ includeFontPadding: false,
65
+ textDecorationLine,
66
+ textAlign: center ? 'center' : undefined,
67
+ opacity: disabled ? tokens.opacity.disabled : 1
68
+ }, style];
72
69
  const hasActionText = !!ellipsisConfig && (ellipsisConfig.expandText || ellipsisConfig.collapseText);
73
70
  const shouldShowAction = hasActionText && (isTruncated || expanded || isWeb);
74
71
  const handleToggleEllipsis = useCallback(() => {
@@ -79,21 +76,15 @@ const TypographyTextBaseInner = /*#__PURE__*/React.forwardRef((props, ref) => {
79
76
  return next;
80
77
  });
81
78
  }, [ellipsisConfig]);
82
- const actionLabel = useMemo(() => {
83
- if (!ellipsisConfig) return undefined;
84
- return expanded ? ellipsisConfig.collapseText ?? ellipsisConfig.expandText : ellipsisConfig.expandText ?? ellipsisConfig.collapseText;
85
- }, [ellipsisConfig, expanded]);
86
- const actionTextStyle = useMemo(() => ({
79
+ const actionLabel = !ellipsisConfig ? undefined : expanded ? ellipsisConfig.collapseText ?? ellipsisConfig.expandText : ellipsisConfig.expandText ?? ellipsisConfig.collapseText;
80
+ const actionTextStyle = {
87
81
  color: tokens.colors.primary,
88
82
  fontSize: tokens.sizing.sizes.sm,
89
83
  fontWeight: tokens.typography.weight.medium,
90
84
  marginLeft: tokens.sizing.actionMarginLeft,
91
85
  includeFontPadding: false
92
- }), [tokens.colors.primary, tokens.sizing.sizes.sm, tokens.typography.weight.medium, tokens.sizing.actionMarginLeft]);
93
- const textStyle = useMemo(() => {
94
- if (!shouldShowAction) return baseStyle;
95
- return [baseStyle, FLEX_SHRINK_STYLE];
96
- }, [shouldShowAction, baseStyle]);
86
+ };
87
+ const textStyle = shouldShowAction ? [baseStyle, FLEX_SHRINK_STYLE] : baseStyle;
97
88
  const textNode = /*#__PURE__*/React.createElement(Text, _extends({
98
89
  ref: ref,
99
90
  style: textStyle,
@@ -151,11 +142,7 @@ const TypographyLink = /*#__PURE__*/React.forwardRef((props, ref) => {
151
142
  if (href) {
152
143
  try {
153
144
  await Linking.openURL(href);
154
- } catch (error) {
155
- if (typeof __DEV__ !== 'undefined' && __DEV__) {
156
- console.warn('[Typography.Link] Failed to open url', error);
157
- }
158
- }
145
+ } catch {}
159
146
  }
160
147
  }, [onPress, href]);
161
148
  return /*#__PURE__*/React.createElement(TypographyTextBase, _extends({
@@ -258,9 +258,7 @@ const Uploader = /*#__PURE__*/React.forwardRef((props, ref) => {
258
258
  if (available <= 0) return prev;
259
259
  return [...prev, ...next.slice(0, available).map(item => normalizeItem(item))];
260
260
  });
261
- }).catch(error => {
262
- if (typeof __DEV__ !== 'undefined' && __DEV__) console.warn('[Uploader] onUpload rejected:', error);
263
- });
261
+ }).catch(() => {});
264
262
  };
265
263
  const closeImagePreview = () => setPreviewVisible(false);
266
264
  useImperativeHandle(ref, () => ({
@@ -306,7 +304,7 @@ const Uploader = /*#__PURE__*/React.forwardRef((props, ref) => {
306
304
  };
307
305
  const renderStatus = status => {
308
306
  if (!status) return null;
309
- const baseStyle = [styles.status, {
307
+ const baseStyle = [statusStyle, {
310
308
  backgroundColor: tokens.colors.maskBackground
311
309
  }];
312
310
  if (status === 'pending') {
@@ -317,7 +315,8 @@ const Uploader = /*#__PURE__*/React.forwardRef((props, ref) => {
317
315
  color: tokens.colors.maskText
318
316
  }), /*#__PURE__*/React.createElement(Text, {
319
317
  style: [styles.statusText, {
320
- color: tokens.colors.maskText
318
+ color: tokens.colors.maskText,
319
+ fontSize: tokens.typography.statusTextSize
321
320
  }]
322
321
  }, statusTextRender?.(status) ?? statusDefaults.pending));
323
322
  }
@@ -327,7 +326,8 @@ const Uploader = /*#__PURE__*/React.forwardRef((props, ref) => {
327
326
  testID: "rv-uploader-status-failed"
328
327
  }, /*#__PURE__*/React.createElement(Text, {
329
328
  style: [styles.statusText, {
330
- color: tokens.colors.failed
329
+ color: tokens.colors.failed,
330
+ fontSize: tokens.typography.statusTextSize
331
331
  }]
332
332
  }, statusTextRender?.(status) ?? statusDefaults.failed));
333
333
  }
@@ -344,19 +344,38 @@ const Uploader = /*#__PURE__*/React.forwardRef((props, ref) => {
344
344
  backgroundColor: tokens.colors.background,
345
345
  borderColor: tokens.colors.border
346
346
  };
347
+ const placeholderStyle = [styles.placeholder, {
348
+ paddingHorizontal: tokens.spacing.placeholderPaddingHorizontal
349
+ }];
347
350
  const placeholderNameStyle = [styles.placeholderName, {
348
- color: tokens.colors.text
351
+ color: tokens.colors.text,
352
+ fontSize: tokens.typography.placeholderNameSize,
353
+ marginTop: tokens.spacing.placeholderNameMarginTop
349
354
  }];
350
355
  const deleteStyle = [styles.delete, {
351
- backgroundColor: tokens.colors.deleteBackground
356
+ backgroundColor: tokens.colors.deleteBackground,
357
+ borderRadius: tokens.radii.deleteButton,
358
+ top: tokens.spacing.deleteOffset,
359
+ right: tokens.spacing.deleteOffset,
360
+ minWidth: tokens.sizing.deleteMinSize,
361
+ minHeight: tokens.sizing.deleteMinSize,
362
+ paddingHorizontal: tokens.spacing.deletePaddingHorizontal
352
363
  }];
353
364
  const deleteIconStyle = {
354
365
  color: tokens.colors.deleteIcon
355
366
  };
367
+ const statusStyle = [styles.status, {
368
+ gap: tokens.spacing.statusGap
369
+ }];
370
+ const uploadContentStyle = [styles.uploadContent, {
371
+ gap: tokens.spacing.uploadContentGap
372
+ }];
356
373
  const renderPlaceholder = name => /*#__PURE__*/React.createElement(View, {
357
- style: styles.placeholder
374
+ style: placeholderStyle
358
375
  }, /*#__PURE__*/React.createElement(Text, {
359
- style: styles.placeholderIcon
376
+ style: [styles.placeholderIcon, {
377
+ fontSize: tokens.typography.placeholderIconSize
378
+ }]
360
379
  }, "FILE"), name && /*#__PURE__*/React.createElement(Text, {
361
380
  style: placeholderNameStyle,
362
381
  numberOfLines: 1
@@ -394,7 +413,9 @@ const Uploader = /*#__PURE__*/React.forwardRef((props, ref) => {
394
413
  }, /*#__PURE__*/React.createElement(Pressable, {
395
414
  style: ({
396
415
  pressed
397
- }) => [styles.preview, frameStyle, pressed && styles.pressed],
416
+ }) => [styles.preview, frameStyle, pressed && {
417
+ opacity: tokens.opacity.pressed
418
+ }],
398
419
  onPress: () => handlePreview(item, index),
399
420
  testID: `rv-uploader-preview-${index}`
400
421
  }, source ? /*#__PURE__*/React.createElement(Image, {
@@ -424,19 +445,25 @@ const Uploader = /*#__PURE__*/React.forwardRef((props, ref) => {
424
445
  }, renderDelete(() => removeTask(task.id), `rv-uploader-task-delete-${task.id}`)))))) : null, canShowUpload ? /*#__PURE__*/React.createElement(Pressable, {
425
446
  style: ({
426
447
  pressed
427
- }) => [styles.upload, boxStyle, frameStyle, pressed && styles.pressed, uploadDisabled && styles.disabled],
448
+ }) => [styles.upload, boxStyle, frameStyle, pressed && {
449
+ opacity: tokens.opacity.pressed
450
+ }, uploadDisabled && {
451
+ opacity: tokens.opacity.disabled
452
+ }],
428
453
  onPress: handleUploadPress,
429
454
  disabled: uploadDisabled,
430
455
  testID: "rv-uploader-upload"
431
456
  }, children ?? /*#__PURE__*/React.createElement(View, {
432
- style: styles.uploadContent
457
+ style: uploadContentStyle
433
458
  }, uploadIcon ?? /*#__PURE__*/React.createElement(Text, {
434
459
  style: [styles.uploadIcon, {
435
- color: tokens.colors.icon
460
+ color: tokens.colors.icon,
461
+ fontSize: tokens.typography.uploadIconSize
436
462
  }]
437
463
  }, "+"), uploadText ? /*#__PURE__*/React.createElement(Text, {
438
464
  style: [styles.uploadText, {
439
- color: tokens.colors.text
465
+ color: tokens.colors.text,
466
+ fontSize: tokens.typography.uploadTextSize
440
467
  }]
441
468
  }, uploadText) : null)) : null), previewFullImage ? /*#__PURE__*/React.createElement(ImagePreview, _extends({}, previewOptions, {
442
469
  visible: previewVisible,
@@ -463,12 +490,6 @@ const styles = StyleSheet.create({
463
490
  borderWidth: StyleSheet.hairlineWidth,
464
491
  overflow: 'hidden'
465
492
  },
466
- pressed: {
467
- opacity: 0.85
468
- },
469
- disabled: {
470
- opacity: 0.65
471
- },
472
493
  image: {
473
494
  width: '100%',
474
495
  height: '100%'
@@ -476,17 +497,12 @@ const styles = StyleSheet.create({
476
497
  placeholder: {
477
498
  flex: 1,
478
499
  justifyContent: 'center',
479
- alignItems: 'center',
480
- paddingHorizontal: 6
500
+ alignItems: 'center'
481
501
  },
482
502
  placeholderIcon: {
483
- fontSize: 20,
484
503
  fontWeight: '600'
485
504
  },
486
- placeholderName: {
487
- marginTop: 6,
488
- fontSize: 11
489
- },
505
+ placeholderName: {},
490
506
  cover: {
491
507
  ...StyleSheet.absoluteFillObject,
492
508
  justifyContent: 'center',
@@ -495,22 +511,13 @@ const styles = StyleSheet.create({
495
511
  status: {
496
512
  ...StyleSheet.absoluteFillObject,
497
513
  justifyContent: 'center',
498
- alignItems: 'center',
499
- gap: 4
500
- },
501
- statusText: {
502
- fontSize: 12
514
+ alignItems: 'center'
503
515
  },
516
+ statusText: {},
504
517
  delete: {
505
518
  position: 'absolute',
506
- top: 4,
507
- right: 4,
508
- minWidth: 20,
509
- minHeight: 20,
510
- borderRadius: 12,
511
519
  justifyContent: 'center',
512
- alignItems: 'center',
513
- paddingHorizontal: 4
520
+ alignItems: 'center'
514
521
  },
515
522
  upload: {
516
523
  borderWidth: StyleSheet.hairlineWidth,
@@ -519,16 +526,12 @@ const styles = StyleSheet.create({
519
526
  },
520
527
  uploadContent: {
521
528
  justifyContent: 'center',
522
- alignItems: 'center',
523
- gap: 4
529
+ alignItems: 'center'
524
530
  },
525
531
  uploadIcon: {
526
- fontSize: 24,
527
532
  fontWeight: '600'
528
533
  },
529
- uploadText: {
530
- fontSize: 12
531
- }
534
+ uploadText: {}
532
535
  });
533
536
  Uploader.displayName = 'Uploader';
534
537
  export default Uploader;
@@ -3,13 +3,39 @@ const createTokens = foundations => {
3
3
  const {
4
4
  palette,
5
5
  spacing,
6
- radii
6
+ radii,
7
+ fontSize
7
8
  } = foundations;
8
9
  const onPrimary = palette.primary.foreground ?? '#ffffff';
9
10
  return {
10
11
  size: 80,
11
12
  gap: spacing.sm,
12
13
  radius: radii.md,
14
+ spacing: {
15
+ placeholderPaddingHorizontal: spacing.ssm,
16
+ placeholderNameMarginTop: spacing.ssm,
17
+ statusGap: spacing.xs,
18
+ uploadContentGap: spacing.xs,
19
+ deleteOffset: spacing.xs,
20
+ deletePaddingHorizontal: spacing.xs
21
+ },
22
+ sizing: {
23
+ deleteMinSize: spacing.xl
24
+ },
25
+ opacity: {
26
+ pressed: 0.85,
27
+ disabled: 0.65
28
+ },
29
+ radii: {
30
+ deleteButton: radii.lg
31
+ },
32
+ typography: {
33
+ placeholderIconSize: fontSize.xl,
34
+ placeholderNameSize: 11,
35
+ statusTextSize: fontSize.xs,
36
+ uploadIconSize: 24,
37
+ uploadTextSize: fontSize.xs
38
+ },
13
39
  colors: {
14
40
  background: palette.default[100],
15
41
  border: palette.default[200],
@@ -1,5 +1,5 @@
1
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
- import React, { useEffect, useMemo, useRef, useState } from 'react';
2
+ import React, { useEffect, useRef, useState } from 'react';
3
3
  import { Image, Text, View, useWindowDimensions } from 'react-native';
4
4
  import { isFiniteNumber, isString } from '../../utils';
5
5
  import { useWaterMarkTokens } from './tokens';
@@ -87,41 +87,41 @@ const WaterMark = props => {
87
87
  height: window.height
88
88
  });
89
89
  }, [fullPage, onLayoutCalculated, window.width, window.height]);
90
- const zIndexStyle = useMemo(() => ({
90
+ const zIndexStyle = {
91
91
  zIndex
92
- }), [zIndex]);
93
- const cellStyle = useMemo(() => ({
92
+ };
93
+ const cellStyle = {
94
94
  width: cellWidth,
95
95
  height: cellHeight
96
- }), [cellWidth, cellHeight]);
97
- const oddRowStyle = useMemo(() => ({
96
+ };
97
+ const oddRowStyle = {
98
98
  paddingLeft: cellWidth / 2
99
- }), [cellWidth]);
100
- const markStyle = useMemo(() => ({
99
+ };
100
+ const markStyle = {
101
101
  width: markWidth,
102
102
  height: markHeight,
103
103
  transform: [{
104
104
  rotate: `${resolvedRotate}deg`
105
105
  }]
106
- }), [markHeight, markWidth, resolvedRotate]);
107
- const imageStyle = useMemo(() => ({
106
+ };
107
+ const imageStyle = {
108
108
  width: markWidth,
109
109
  height: markHeight,
110
110
  opacity: resolvedOpacity
111
- }), [markHeight, markWidth, resolvedOpacity]);
112
- const textBaseStyle = useMemo(() => ({
111
+ };
112
+ const textBaseStyle = {
113
113
  fontSize: normalizedFontSize,
114
114
  color: resolvedColor,
115
115
  opacity: resolvedOpacity,
116
116
  fontFamily: font?.family,
117
117
  fontWeight: font?.weight
118
- }), [font?.family, font?.weight, normalizedFontSize, resolvedColor, resolvedOpacity]);
119
- const rowIndexes = useMemo(() => Array.from({
118
+ };
119
+ const rowIndexes = Array.from({
120
120
  length: rows
121
- }, (_, i) => i), [rows]);
122
- const colIndexes = useMemo(() => Array.from({
121
+ }, (_, i) => i);
122
+ const colIndexes = Array.from({
123
123
  length: cols
124
- }, (_, i) => i), [cols]);
124
+ }, (_, i) => i);
125
125
  return /*#__PURE__*/React.createElement(View, _extends({
126
126
  pointerEvents: "none",
127
127
  style: [fullPage ? tokens.layout.absoluteFill : null, zIndexStyle, style],
@@ -4,7 +4,8 @@ import { nativeDriverEnabled } from '../platform';
4
4
  export const usePresenceAnimation = (visible, {
5
5
  duration = 180,
6
6
  easing = Easing.out(Easing.cubic),
7
- appear = false
7
+ appear = false,
8
+ canAnimate = true
8
9
  } = {}) => {
9
10
  const [mounted, setMounted] = useState(visible);
10
11
  const animated = useRef(new Animated.Value(visible && !appear ? 1 : 0)).current;
@@ -16,6 +17,10 @@ export const usePresenceAnimation = (visible, {
16
17
  animated.stopAnimation();
17
18
  if (visible) {
18
19
  setMounted(true);
20
+ if (!canAnimate) {
21
+ animated.setValue(0);
22
+ return;
23
+ }
19
24
  Animated.timing(animated, {
20
25
  toValue: 1,
21
26
  duration,
@@ -23,6 +28,11 @@ export const usePresenceAnimation = (visible, {
23
28
  useNativeDriver
24
29
  }).start();
25
30
  } else {
31
+ if (!canAnimate) {
32
+ animated.setValue(0);
33
+ setMounted(false);
34
+ return;
35
+ }
26
36
  Animated.timing(animated, {
27
37
  toValue: 0,
28
38
  duration,
@@ -33,7 +43,7 @@ export const usePresenceAnimation = (visible, {
33
43
  setMounted(false);
34
44
  });
35
45
  }
36
- }, [animated, duration, easing, useNativeDriver, visible]);
46
+ }, [animated, canAnimate, duration, easing, useNativeDriver, visible]);
37
47
  return {
38
48
  mounted,
39
49
  animated
@@ -23,6 +23,7 @@ export interface DialogTokens {
23
23
  footerGap: number;
24
24
  roundFooterPadding: number;
25
25
  roundFooterGap: number;
26
+ closeIconPadding: number;
26
27
  };
27
28
  sizes: {
28
29
  minWidth: number;
@@ -9,17 +9,34 @@ export interface DropdownMenuTokens {
9
9
  mask: string;
10
10
  divider: string;
11
11
  barBackground: string;
12
+ transparent: string;
12
13
  };
13
14
  spacing: {
14
15
  horizontal: number;
15
16
  vertical: number;
16
17
  titlePadding: number;
18
+ customPanelPadding: number;
19
+ optionRowPaddingHorizontal: number;
20
+ optionRowPaddingVertical: number;
21
+ itemScrollablePaddingHorizontal: number;
22
+ arrowMarginLeft: number;
23
+ optionIconMarginRight: number;
24
+ indicatorMarginLeft: number;
25
+ panelPaddingHorizontal: number;
17
26
  };
18
27
  sizing: {
19
28
  barHeight: number;
20
29
  titleFontSize: number;
21
30
  titleLineHeight: number;
22
31
  panelMaxHeight: number;
32
+ optionFontSize: number;
33
+ arrowSize: number;
34
+ arrowBorderWidth: number;
35
+ arrowBorderHeight: number;
36
+ };
37
+ opacity: {
38
+ arrowInactive: number;
39
+ arrowActive: number;
23
40
  };
24
41
  shadow: {
25
42
  shadowColor: string;
@@ -1,7 +1,7 @@
1
1
  import Field from './Field';
2
2
  import { CellGroup as FieldGroup } from '../cell';
3
- export { useFieldTokens } from './tokens';
4
3
  export { FieldGroup };
5
4
  export type { FieldProps, FieldInstance, FieldType, FieldClearTrigger, FieldFormatTrigger, FieldAutosizeConfig, FieldTooltipProps, FieldShowWordLimit, FieldInputAlign, FieldControlAlign, FieldGroupProps, } from './types';
5
+ export { useFieldTokens } from './tokens';
6
6
  export default Field;
7
7
  export { Field };
@@ -5,6 +5,22 @@ export interface ImagePreviewTokens {
5
5
  indexText: string;
6
6
  indicatorActive: string;
7
7
  indicatorInactive: string;
8
+ transparent: string;
9
+ };
10
+ spacing: {
11
+ indexTop: number;
12
+ indexPaddingHorizontal: number;
13
+ indexPaddingVertical: number;
14
+ };
15
+ layout: {
16
+ popupPadding: number;
17
+ popupRadius: number;
18
+ };
19
+ radii: {
20
+ indexBadge: number;
21
+ };
22
+ typography: {
23
+ indexTextSize: number;
8
24
  };
9
25
  }
10
26
  export declare const useImagePreviewTokens: (overrides?: import("../..").DeepPartial<ImagePreviewTokens> | undefined) => ImagePreviewTokens;
@@ -5,18 +5,27 @@ export interface IndexBarTokens {
5
5
  indicatorBackground: string;
6
6
  indicatorText: string;
7
7
  stickyBackground: string;
8
- stickyText: string;
9
8
  anchorBackground: string;
10
9
  anchorText: string;
11
- border: string;
12
10
  };
13
11
  layout: {
14
12
  indexWidth: number;
15
- indicatorSize: number;
16
- stickyHeight: number;
17
13
  paddingVertical: number;
14
+ indexListPaddingHorizontal: number;
15
+ indexItemPaddingVertical: number;
16
+ indexItemPaddingHorizontal: number;
18
17
  spacing: number;
18
+ indicatorSize: number;
19
+ stickyHeight: number;
20
+ stickyPaddingHorizontal: number;
19
21
  anchorHeight: number;
22
+ anchorPaddingHorizontal: number;
23
+ };
24
+ typography: {
25
+ indexTextSize: number;
26
+ indicatorTextSize: number;
27
+ stickyTextSize: number;
28
+ anchorTitleSize: number;
20
29
  };
21
30
  }
22
31
  export declare const useIndexBarTokens: (overrides?: import("../..").DeepPartial<IndexBarTokens> | undefined) => IndexBarTokens;