@onekeyfe/react-native-native-list 6.7.0-alpha.412 → 6.7.0-alpha.413

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 (121) hide show
  1. package/android/src/main/java/com/onekey/nativelist/NativeListAccessoryStack.kt +0 -5
  2. package/android/src/main/java/com/onekey/nativelist/NativeListLeadingVisual.kt +0 -5
  3. package/android/src/main/java/com/onekey/nativelist/NativeListPrimitives.kt +338 -117
  4. package/android/src/main/java/com/onekey/nativelist/NativeListRendererRowView.kt +0 -5
  5. package/docs/SPEC.md +7 -114
  6. package/ios/NativeListAccessoryStack.swift +16 -6
  7. package/ios/NativeListDataRowRenderer.swift +6 -15
  8. package/ios/NativeListDesignAssets.swift +84 -13
  9. package/ios/NativeListIdentityRenderer.swift +10 -12
  10. package/ios/NativeListLeadingVisual.swift +9 -11
  11. package/ios/NativeListMarketRenderer.swift +13 -7
  12. package/ios/NativeListMediaTileRenderer.swift +2 -6
  13. package/ios/NativeListMetricCardRenderer.swift +2 -4
  14. package/ios/NativeListSectionHeaderRenderer.swift +4 -12
  15. package/ios/Resources/NativeListIcons.xcassets/Contents.json +1 -0
  16. package/ios/Resources/NativeListIcons.xcassets/onekey_arrow_bottom.imageset/Contents.json +1 -0
  17. package/ios/Resources/NativeListIcons.xcassets/onekey_arrow_bottom.imageset/icon.svg +1 -0
  18. package/ios/Resources/NativeListIcons.xcassets/onekey_arrow_top.imageset/Contents.json +1 -0
  19. package/ios/Resources/NativeListIcons.xcassets/onekey_arrow_top.imageset/icon.svg +1 -0
  20. package/ios/Resources/NativeListIcons.xcassets/onekey_badge_verified_solid.imageset/Contents.json +1 -0
  21. package/ios/Resources/NativeListIcons.xcassets/onekey_badge_verified_solid.imageset/icon.svg +1 -0
  22. package/ios/Resources/NativeListIcons.xcassets/onekey_chart_trending_up.imageset/Contents.json +1 -0
  23. package/ios/Resources/NativeListIcons.xcassets/onekey_chart_trending_up.imageset/icon.svg +1 -0
  24. package/ios/Resources/NativeListIcons.xcassets/onekey_checkbox_checked.imageset/Contents.json +1 -0
  25. package/ios/Resources/NativeListIcons.xcassets/onekey_checkbox_checked.imageset/icon.svg +1 -0
  26. package/ios/Resources/NativeListIcons.xcassets/onekey_checkbox_indeterminate.imageset/Contents.json +1 -0
  27. package/ios/Resources/NativeListIcons.xcassets/onekey_checkbox_indeterminate.imageset/icon.svg +1 -0
  28. package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_bottom.imageset/Contents.json +1 -0
  29. package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_bottom.imageset/icon.svg +1 -0
  30. package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_grabber_ver.imageset/Contents.json +1 -0
  31. package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_grabber_ver.imageset/icon.svg +1 -0
  32. package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_right_small.imageset/Contents.json +1 -0
  33. package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_right_small.imageset/icon.svg +1 -0
  34. package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_top.imageset/Contents.json +1 -0
  35. package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_top.imageset/icon.svg +1 -0
  36. package/ios/Resources/NativeListIcons.xcassets/onekey_crypto_coin_outline.imageset/Contents.json +15 -0
  37. package/ios/Resources/NativeListIcons.xcassets/onekey_crypto_coin_outline.imageset/icon.svg +4 -0
  38. package/ios/Resources/NativeListIcons.xcassets/onekey_document2.imageset/Contents.json +1 -0
  39. package/ios/Resources/NativeListIcons.xcassets/onekey_document2.imageset/icon.svg +1 -0
  40. package/ios/Resources/NativeListIcons.xcassets/onekey_dot_hor.imageset/Contents.json +1 -0
  41. package/ios/Resources/NativeListIcons.xcassets/onekey_dot_hor.imageset/icon.svg +1 -0
  42. package/ios/Resources/NativeListIcons.xcassets/onekey_dot_ver_solid.imageset/Contents.json +1 -0
  43. package/ios/Resources/NativeListIcons.xcassets/onekey_dot_ver_solid.imageset/icon.svg +1 -0
  44. package/ios/Resources/NativeListIcons.xcassets/onekey_drag.imageset/Contents.json +1 -0
  45. package/ios/Resources/NativeListIcons.xcassets/onekey_drag.imageset/icon.svg +1 -0
  46. package/ios/Resources/NativeListIcons.xcassets/onekey_error_solid.imageset/Contents.json +1 -0
  47. package/ios/Resources/NativeListIcons.xcassets/onekey_error_solid.imageset/icon.svg +1 -0
  48. package/ios/Resources/NativeListIcons.xcassets/onekey_gas_solid.imageset/Contents.json +15 -0
  49. package/ios/Resources/NativeListIcons.xcassets/onekey_gas_solid.imageset/icon.svg +3 -0
  50. package/ios/Resources/NativeListIcons.xcassets/onekey_image_square_waves.imageset/Contents.json +1 -0
  51. package/ios/Resources/NativeListIcons.xcassets/onekey_image_square_waves.imageset/icon.svg +1 -0
  52. package/ios/Resources/NativeListIcons.xcassets/onekey_info_circle.imageset/Contents.json +1 -0
  53. package/ios/Resources/NativeListIcons.xcassets/onekey_info_circle.imageset/icon.svg +1 -0
  54. package/ios/Resources/NativeListIcons.xcassets/onekey_minus_circle.imageset/Contents.json +1 -0
  55. package/ios/Resources/NativeListIcons.xcassets/onekey_minus_circle.imageset/icon.svg +1 -0
  56. package/ios/Resources/NativeListIcons.xcassets/onekey_minus_circle_solid.imageset/Contents.json +1 -0
  57. package/ios/Resources/NativeListIcons.xcassets/onekey_minus_circle_solid.imageset/icon.svg +1 -0
  58. package/ios/Resources/NativeListIcons.xcassets/onekey_pencil.imageset/Contents.json +1 -0
  59. package/ios/Resources/NativeListIcons.xcassets/onekey_pencil.imageset/icon.svg +1 -0
  60. package/ios/Resources/NativeListIcons.xcassets/onekey_plus_circle.imageset/Contents.json +1 -0
  61. package/ios/Resources/NativeListIcons.xcassets/onekey_plus_circle.imageset/icon.svg +1 -0
  62. package/ios/Resources/NativeListIcons.xcassets/onekey_plus_large.imageset/Contents.json +1 -0
  63. package/ios/Resources/NativeListIcons.xcassets/onekey_plus_large.imageset/icon.svg +1 -0
  64. package/ios/Resources/NativeListIcons.xcassets/onekey_plus_small.imageset/Contents.json +1 -0
  65. package/ios/Resources/NativeListIcons.xcassets/onekey_plus_small.imageset/icon.svg +1 -0
  66. package/ios/Resources/NativeListIcons.xcassets/onekey_questionmark_solid.imageset/Contents.json +1 -0
  67. package/ios/Resources/NativeListIcons.xcassets/onekey_questionmark_solid.imageset/icon.svg +1 -0
  68. package/ios/Resources/NativeListIcons.xcassets/onekey_refresh_ccw_outline.imageset/Contents.json +15 -0
  69. package/ios/Resources/NativeListIcons.xcassets/onekey_refresh_ccw_outline.imageset/icon.svg +3 -0
  70. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_account_error_custom.imageset/Contents.json +15 -0
  71. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_account_error_custom.imageset/icon.svg +14 -0
  72. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_all_networks_solid.imageset/Contents.json +15 -0
  73. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_all_networks_solid.imageset/icon.svg +12 -0
  74. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_apple_brand.imageset/Contents.json +15 -0
  75. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_apple_brand.imageset/icon.svg +6 -0
  76. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_bot_illus.imageset/Contents.json +15 -0
  77. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_bot_illus.imageset/icon.svg +15 -0
  78. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_crossed_small_solid.imageset/Contents.json +15 -0
  79. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_crossed_small_solid.imageset/icon.svg +3 -0
  80. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_globus_outline.imageset/Contents.json +15 -0
  81. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_globus_outline.imageset/icon.svg +7 -0
  82. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_google_illus.imageset/Contents.json +15 -0
  83. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_google_illus.imageset/icon.svg +18 -0
  84. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_lock_solid.imageset/Contents.json +15 -0
  85. package/ios/Resources/NativeListIcons.xcassets/onekey_selector_lock_solid.imageset/icon.svg +7 -0
  86. package/ios/Resources/NativeListIcons.xcassets/onekey_shield_exclamation.imageset/Contents.json +1 -0
  87. package/ios/Resources/NativeListIcons.xcassets/onekey_shield_exclamation.imageset/icon.svg +1 -0
  88. package/ios/Resources/NativeListIcons.xcassets/onekey_speaker_promote.imageset/Contents.json +1 -0
  89. package/ios/Resources/NativeListIcons.xcassets/onekey_speaker_promote.imageset/icon.svg +1 -0
  90. package/ios/Resources/NativeListIcons.xcassets/onekey_star.imageset/Contents.json +1 -0
  91. package/ios/Resources/NativeListIcons.xcassets/onekey_star.imageset/icon.svg +1 -0
  92. package/ios/Resources/NativeListIcons.xcassets/onekey_star_solid.imageset/Contents.json +1 -0
  93. package/ios/Resources/NativeListIcons.xcassets/onekey_star_solid.imageset/icon.svg +1 -0
  94. package/ios/Resources/NativeListIcons.xcassets/onekey_swap_hor.imageset/Contents.json +1 -0
  95. package/ios/Resources/NativeListIcons.xcassets/onekey_swap_hor.imageset/icon.svg +1 -0
  96. package/ios/Resources/NativeListIcons.xcassets/onekey_ticket.imageset/Contents.json +1 -0
  97. package/ios/Resources/NativeListIcons.xcassets/onekey_ticket.imageset/icon.svg +1 -0
  98. package/ios/Resources/NativeListIcons.xcassets/onekey_wallet.imageset/Contents.json +1 -0
  99. package/ios/Resources/NativeListIcons.xcassets/onekey_wallet.imageset/icon.svg +1 -0
  100. package/ios/tests/NativeListAccessoryStackTests.swift +0 -12
  101. package/lib/module/web/NativeListWebEngine.js +323 -21
  102. package/lib/module/web/templates/ActivityRowRenderer.js +24 -4
  103. package/lib/module/web/templates/MarketTableRowRenderer.js +15 -11
  104. package/lib/module/web/templates/MediaTileRowRenderer.js +12 -2
  105. package/lib/typescript/src/web/NativeListWebEngine.d.ts +1 -0
  106. package/package.json +4 -10
  107. package/react-native-native-list.podspec +5 -0
  108. package/src/web/NativeListWebEngine.ts +405 -25
  109. package/src/web/templates/ActivityRowRenderer.ts +53 -15
  110. package/src/web/templates/MarketTableRowRenderer.ts +29 -17
  111. package/src/web/templates/MediaTileRowRenderer.ts +15 -2
  112. package/android/src/main/java/com/onekey/nativelist/NativeListGeneratedIcons.kt +0 -47
  113. package/ios/NativeListGeneratedIcons.swift +0 -55
  114. package/ios/NativeListIconBinding.swift +0 -171
  115. package/ios/tests/NativeListSharedIconTests.swift +0 -236
  116. package/lib/module/web/NativeListGeneratedIcons.js +0 -31
  117. package/lib/typescript/src/web/NativeListGeneratedIcons.d.ts +0 -2
  118. package/scripts/generate-icons.mjs +0 -150
  119. package/scripts/generate-icons.test.mjs +0 -288
  120. package/scripts/native-list-icons.json +0 -260
  121. package/src/web/NativeListGeneratedIcons.ts +0 -28
@@ -0,0 +1 @@
1
+ <svg fill="#000" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m15.405 7.313 7.84 1.034-5.735 5.443 1.44 7.774L12 17.793l-6.948 3.771 1.44-7.774L.756 8.347l7.839-1.034L12 .178z"/></svg>
@@ -0,0 +1 @@
1
+ {"images":[{"filename":"icon.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000"><path d="M21 16H6.914l2.293 2.293-1.414 1.414L2.086 14H21zm.914-6H3V8h14.086l-2.293-2.293 1.414-1.414z"/></svg>
@@ -0,0 +1 @@
1
+ {"images":[{"filename":"icon.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000"><path d="M16 17.01h-2V15h2zm0-4h-2V11h2zm0-4h-2V7h2z"/><path fill-rule="evenodd" clip-rule="evenodd" d="m22 9.927-.629.252c-1.661.665-1.661 2.977 0 3.642l.629.252V20H2v-5.927l.629-.252c1.661-.665 1.661-2.977 0-3.642L2 9.927V4h20zM4 8.636c2.5 1.52 2.499 5.207 0 6.727V18h16v-2.637c-2.499-1.52-2.5-5.208 0-6.727V6H4z"/></svg>
@@ -0,0 +1 @@
1
+ {"images":[{"filename":"icon.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000"><path d="M15.5 13.25a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5"/><path fill-rule="evenodd" clip-rule="evenodd" d="M17 8h4v13H7a4 4 0 0 1-4-4V6.5A3.5 3.5 0 0 1 6.5 3H17zM5 17a2 2 0 0 0 2 2h12v-9H6.5c-.537 0-1.045-.12-1.5-.337zM6.5 5a1.5 1.5 0 1 0 0 3H15V5z"/></svg>
@@ -42,18 +42,6 @@ final class NativeListAccessoryStackTests: XCTestCase {
42
42
  XCTAssertTrue(stack.hitTest(value.center, with: nil) === stack)
43
43
  }
44
44
 
45
- func testSwapMenuUsesTheDotVerSolidImage() throws {
46
- let metadata = try XCTUnwrap(nativeListIconMetadata(named: "DotVerSolid"))
47
- XCTAssertGreaterThan(metadata.size.width, 0)
48
- XCTAssertGreaterThan(metadata.size.height, 0)
49
- let stack = try makeStack(trailing: [[
50
- "kind": "icon", "name": "DotVerSolid", "buttonStyle": "tertiary",
51
- "actionKey": "menu",
52
- ]])
53
- let button = try XCTUnwrap(try visibleControl(stack) as? UIButton)
54
- XCTAssertNotNil(button.image(for: .normal))
55
- }
56
-
57
45
  func testValuePairAccessoryLeavesTouchesToTheRow() throws {
58
46
  let stack = try makeStack(trailing: [
59
47
  ["kind": "valuePair", "primary": "$15.60", "secondary": "0.002 BTC"],
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- import { createNamedIcon } from '@onekeyfe/react-native-image/icon/dom';
4
- import { nativeListGeneratedIcons as selectorIcons } from "./NativeListGeneratedIcons.js";
5
3
  import { applyTextWeight } from "./templates/RowText.js";
6
4
  import { applyRowContainerStyle, resetRowContainerStyle } from "./templates/RowContainerStyle.js";
7
5
  import { hasExplicitRowHeight, rowSizeModifier } from "./templates/RowElements.js";
@@ -39,6 +37,7 @@ export const WEB_REORDER_ANIMATION = {
39
37
  const REORDER_TOUCH_LONG_PRESS_MS = 120;
40
38
  const MARKET_LONG_PRESS_MS = 800;
41
39
  const MARKET_MOVE_CANCEL_PX = 10;
40
+ export const WEB_MARKET_VERIFIED_PATH = 'M9.483 11.458v3.5h-1v-3.5z M10.467 2.698a2.03 2.03 0 0 1 3.065 0l1.358 1.564a.03.03 0 0 0 .028.01l2.046-.325a2.03 2.03 0 0 1 2.347 1.971l.037 2.07q0 .016.014.026l1.776 1.066a2.03 2.03 0 0 1 .532 3.019l-1.304 1.609a.03.03 0 0 0-.005.03l.675 1.956a2.03 2.03 0 0 1-1.533 2.656l-2.033.394a.03.03 0 0 0-.023.019l-.741 1.933a2.03 2.03 0 0 1-2.88 1.05l-1.811-1.006a.03.03 0 0 0-.03 0l-1.811 1.005a2.03 2.03 0 0 1-2.88-1.049l-.742-1.933a.03.03 0 0 0-.023-.019l-2.033-.394a2.03 2.03 0 0 1-1.532-2.656l.675-1.957a.03.03 0 0 0-.005-.029l-1.304-1.61a2.03 2.03 0 0 1 .532-3.018l1.776-1.066a.03.03 0 0 0 .014-.026l.035-2.07a2.03 2.03 0 0 1 2.349-1.97l2.045.324a.03.03 0 0 0 .028-.01zm1.516 3.76a.5.5 0 0 0-.447.276l-1.861 3.724H8.483a1 1 0 0 0-1 1v3.5a1 1 0 0 0 1 1h6.692a2 2 0 0 0 1.981-1.73l.341-2.5a2 2 0 0 0-1.982-2.27h-1.939l.197-1.269a1.5 1.5 0 0 0-1.481-1.731z';
42
41
  const REORDER_MOUSE_MOVE_THRESHOLD_PX = 5;
43
42
  const REORDER_EDGE_RATIO = 0.25;
44
43
  const REORDER_MAX_SPEED_ZONE_RATIO = 0.05;
@@ -724,28 +723,332 @@ function paintSelectorImageBackground(image, frame, inset = 0) {
724
723
  frame.insertBefore(paint, image);
725
724
  if (image.complete && image.naturalWidth > 0) update();
726
725
  }
726
+
727
+ // OneKey patch: use source SVG paths for selector actions and wallet provider marks.
728
+ const selectorIcons = {
729
+ RefreshCcwOutline: {
730
+ viewBox: '0 0 24 24',
731
+ paths: [{
732
+ d: 'M5 12a7 7 0 0 0 7 7 7.15 7.15 0 0 0 4.955-2h-2.943v-2h6v6h-2v-2.257A9.148 9.148 0 0 1 12 21a9 9 0 0 1-9-9v-1h2v1Zm1-6.754A9.148 9.148 0 0 1 12 3a9 9 0 0 1 9 9v1h-2v-1a7 7 0 0 0-7-7 7.15 7.15 0 0 0-4.955 2H10v2H4V3h2v2.246Z',
733
+ fill: 'currentColor',
734
+ fillRule: 'nonzero',
735
+ opacity: 1
736
+ }]
737
+ },
738
+ DotVerSolid: {
739
+ viewBox: '0 0 24 24',
740
+ paths: [{
741
+ d: 'M14 18v4h-4v-4zm0-4h-4v-4h4zm0-8h-4V2h4z',
742
+ fill: 'currentColor',
743
+ fillRule: 'nonzero',
744
+ opacity: 1
745
+ }]
746
+ },
747
+ Document2Outline: {
748
+ viewBox: '0 0 24 24',
749
+ paths: [{
750
+ d: 'M12 16H8v-2h4zm4-4H8v-2h8zm0-4H8V6h8z',
751
+ fill: 'currentColor',
752
+ fillRule: 'nonzero',
753
+ opacity: 1
754
+ }, {
755
+ d: 'M20 22H4V2h16zM6 20h12V4H6z',
756
+ fill: 'currentColor',
757
+ fillRule: 'evenodd',
758
+ opacity: 1
759
+ }]
760
+ },
761
+ WalletOutline: {
762
+ viewBox: '0 0 24 24',
763
+ paths: [{
764
+ d: 'M15.5 13.25a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5',
765
+ fill: 'currentColor',
766
+ fillRule: 'nonzero',
767
+ opacity: 1
768
+ }, {
769
+ d: 'M17 8h4v13H7a4 4 0 0 1-4-4V6.5A3.5 3.5 0 0 1 6.5 3H17zM5 17a2 2 0 0 0 2 2h12v-9H6.5c-.537 0-1.045-.12-1.5-.337zM6.5 5a1.5 1.5 0 1 0 0 3H15V5z',
770
+ fill: 'currentColor',
771
+ fillRule: 'evenodd',
772
+ opacity: 1
773
+ }]
774
+ },
775
+ PlusLargeOutline: {
776
+ viewBox: '0 0 24 24',
777
+ paths: [{
778
+ d: 'M13 11h8v2h-8v8h-2v-8H3v-2h8V3h2z',
779
+ fill: 'currentColor',
780
+ fillRule: 'nonzero',
781
+ opacity: 1
782
+ }]
783
+ },
784
+ TicketOutline: {
785
+ viewBox: '0 0 24 24',
786
+ paths: [{
787
+ d: 'M16 17.01h-2V15h2v2.01Zm0-4h-2V11h2v2.01Zm0-4h-2V7h2v2.01Z',
788
+ fill: 'currentColor',
789
+ fillRule: 'nonzero',
790
+ opacity: 1
791
+ }, {
792
+ d: 'm22 9.927-.629.252c-1.661.665-1.661 2.977 0 3.642l.629.252V20H2v-5.927l.629-.252c1.661-.665 1.661-2.977 0-3.642L2 9.927V4h20v5.927ZM4 8.636c2.5 1.52 2.499 5.207 0 6.727V18h16v-2.637c-2.499-1.52-2.5-5.208 0-6.727V6H4v2.636Z',
793
+ fill: 'currentColor',
794
+ fillRule: 'evenodd',
795
+ opacity: 1
796
+ }]
797
+ },
798
+ GasSolid: {
799
+ viewBox: '0 0 24 24',
800
+ paths: [{
801
+ d: 'M15 9h4v7h1V8.414L17.586 6 19 4.586l3 3V18h-5v-7h-2v8h1v2H2v-2h1V3h12zM6 9v2h6V9z',
802
+ fill: 'currentColor',
803
+ fillRule: 'evenodd',
804
+ opacity: 1
805
+ }]
806
+ },
807
+ CryptoCoinOutline: {
808
+ viewBox: '0 0 24 24',
809
+ paths: [{
810
+ d: 'M11 16.387a4.5 4.5 0 0 1 0-8.775V6h2v1.613a4.5 4.5 0 0 1 2.856 2.067l-1.712 1.032a2.5 2.5 0 1 0 0 2.576l1.712 1.032A4.5 4.5 0 0 1 13 16.386V18h-2z',
811
+ fill: 'currentColor',
812
+ fillRule: 'nonzero',
813
+ opacity: 1
814
+ }, {
815
+ d: 'M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10m-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0',
816
+ fill: 'currentColor',
817
+ fillRule: 'evenodd',
818
+ opacity: 1
819
+ }]
820
+ },
821
+ GlobusOutline: {
822
+ viewBox: '0 0 24 24',
823
+ paths: [{
824
+ d: 'M12 2c5.185 0 9.448 3.947 9.95 9H22v2h-.05c-.502 5.053-4.765 9-9.95 9s-9.448-3.947-9.95-9H2v-2h.05C2.552 5.947 6.815 2 12 2M9.523 13c.09 1.982.438 3.726.934 5.002.29.746.612 1.282.917 1.614.304.331.517.384.626.384s.322-.053.626-.384c.305-.332.627-.868.917-1.614.496-1.276.845-3.02.934-5.002zm-5.459 0a8 8 0 0 0 4.8 6.36 10 10 0 0 1-.271-.633C7.994 17.187 7.61 15.189 7.52 13zm12.416 0c-.09 2.189-.474 4.187-1.073 5.727a10 10 0 0 1-.271.633 8 8 0 0 0 4.8-6.36zM8.863 4.639A8 8 0 0 0 4.064 11h3.457c.09-2.189.473-4.187 1.072-5.727q.127-.327.27-.634M12 4c-.109 0-.322.053-.626.384-.305.332-.627.868-.917 1.614-.496 1.276-.844 3.02-.934 5.002h4.954c-.09-1.982-.438-3.726-.934-5.002-.29-.746-.612-1.282-.917-1.614C12.322 4.053 12.109 4 12 4m3.136.639q.144.307.271.634c.599 1.54.982 3.538 1.073 5.727h3.456a8 8 0 0 0-4.8-6.361',
825
+ fill: 'currentColor',
826
+ fillRule: 'evenodd',
827
+ opacity: 1.0
828
+ }]
829
+ },
830
+ LockSolid: {
831
+ viewBox: '0 0 24 24',
832
+ paths: [{
833
+ d: 'M12 2a5 5 0 0 1 5 5v2h3v13H4V9h3V7a5 5 0 0 1 5-5m-1 11v5h2v-5zm1-9a3 3 0 0 0-3 3v2h6V7a3 3 0 0 0-3-3',
834
+ fill: 'currentColor',
835
+ fillRule: 'evenodd',
836
+ opacity: 1.0
837
+ }]
838
+ },
839
+ GoogleIllus: {
840
+ viewBox: '0 0 24 24',
841
+ paths: [{
842
+ d: 'M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09',
843
+ fill: '#4285F4',
844
+ fillRule: 'nonzero',
845
+ opacity: 1.0
846
+ }, {
847
+ d: 'M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23',
848
+ fill: '#34A853',
849
+ fillRule: 'nonzero',
850
+ opacity: 1.0
851
+ }, {
852
+ d: 'M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22z',
853
+ fill: '#FBBC05',
854
+ fillRule: 'nonzero',
855
+ opacity: 1.0
856
+ }, {
857
+ d: 'M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53',
858
+ fill: '#EA4335',
859
+ fillRule: 'nonzero',
860
+ opacity: 1.0
861
+ }]
862
+ },
863
+ AppleBrand: {
864
+ viewBox: '0 0 16 20',
865
+ paths: [{
866
+ d: 'M11.67.834c.117 1.074-.315 2.153-.955 2.928-.64.773-1.692 1.378-2.718 1.298-.14-1.054.38-2.151.971-2.836C9.63 1.45 10.746.872 11.67.834M14.994 7.093c-.176.108-1.992 1.224-1.972 3.482.025 2.769 2.428 3.693 2.46 3.705l-.004.015a10.1 10.1 0 0 1-1.264 2.593c-.764 1.116-1.556 2.229-2.806 2.254-.598.011-1-.162-1.416-.343-.437-.19-.891-.386-1.609-.386-.751 0-1.226.203-1.683.398-.397.169-.78.333-1.32.354-1.208.047-2.124-1.207-2.895-2.32C.909 14.57-.294 10.414 1.322 7.612c.803-1.395 2.237-2.275 3.794-2.298.671-.014 1.32.244 1.89.47.434.172.821.326 1.135.326.282 0 .659-.149 1.099-.323.692-.273 1.539-.607 2.41-.518.599.026 2.276.24 3.354 1.818z',
867
+ fill: 'currentColor',
868
+ fillRule: 'nonzero',
869
+ opacity: 1.0
870
+ }]
871
+ },
872
+ BotIllus: {
873
+ viewBox: '0 0 24 24',
874
+ paths: [{
875
+ d: 'M11 2a1 1 0 1 1 2 0v1.8l1.6 1.6a1 1 0 1 1-1.4 1.4L12 5.6l-1.2 1.2a1 1 0 0 1-1.4-1.4L11 3.8z',
876
+ fill: '#8897A5',
877
+ fillRule: 'nonzero',
878
+ opacity: 1.0
879
+ }, {
880
+ d: 'M8.0 6.0h8.0a5.0 5.0 0 0 1 5.0 5.0v4.0a5.0 5.0 0 0 1 -5.0 5.0h-8.0a5.0 5.0 0 0 1 -5.0 -5.0v-4.0a5.0 5.0 0 0 1 5.0 -5.0z',
881
+ fill: '#3FA9F5',
882
+ fillRule: 'nonzero',
883
+ opacity: 1.0
884
+ }, {
885
+ d: 'M3.0 10.0h0.0a1.5 1.5 0 0 1 1.5 1.5v3.0a1.5 1.5 0 0 1 -1.5 1.5h0.0a1.5 1.5 0 0 1 -1.5 -1.5v-3.0a1.5 1.5 0 0 1 1.5 -1.5z',
886
+ fill: '#8897A5',
887
+ fillRule: 'nonzero',
888
+ opacity: 1.0
889
+ }, {
890
+ d: 'M21.0 10.0h0.0a1.5 1.5 0 0 1 1.5 1.5v3.0a1.5 1.5 0 0 1 -1.5 1.5h0.0a1.5 1.5 0 0 1 -1.5 -1.5v-3.0a1.5 1.5 0 0 1 1.5 -1.5z',
891
+ fill: '#8897A5',
892
+ fillRule: 'nonzero',
893
+ opacity: 1.0
894
+ }, {
895
+ d: 'M7.5 12.0a1.5 1.5 0 1 0 3.0 0a1.5 1.5 0 1 0 -3.0 0',
896
+ fill: '#10243E',
897
+ fillRule: 'nonzero',
898
+ opacity: 1.0
899
+ }, {
900
+ d: 'M13.5 12.0a1.5 1.5 0 1 0 3.0 0a1.5 1.5 0 1 0 -3.0 0',
901
+ fill: '#10243E',
902
+ fillRule: 'nonzero',
903
+ opacity: 1.0
904
+ }, {
905
+ d: 'M8.5 15.4c.9.8 2.08 1.2 3.5 1.2s2.6-.4 3.5-1.2c.24-.2.6-.18.8.06.2.23.17.6-.06.8-1.14.98-2.58 1.46-4.24 1.46s-3.1-.48-4.24-1.46a.58.58 0 0 1-.06-.8c.2-.24.56-.26.8-.06',
906
+ fill: '#10243E',
907
+ fillRule: 'nonzero',
908
+ opacity: 1.0
909
+ }]
910
+ },
911
+ AllNetworksSolid: {
912
+ viewBox: '0 0 24 24',
913
+ paths: [{
914
+ d: 'M15.333 13.998a1.335 1.335 0 1 1 0 2.67 1.335 1.335 0 0 1 0-2.67',
915
+ fill: 'currentColor',
916
+ fillRule: 'nonzero',
917
+ opacity: 1.0
918
+ }, {
919
+ d: 'M12 0c6.627 0 12 5.373 12 12s-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0M8 12.668A2 2 0 0 0 6 14.666V16c0 1.103.895 1.997 1.998 1.998h1.334A2 2 0 0 0 11.33 16v-1.334a2 2 0 0 0-1.998-1.998zm7.333 0a2.665 2.665 0 1 0 0 5.33 2.665 2.665 0 0 0 0-5.33M7.999 6.001A2 2 0 0 0 6.001 8v1.334c0 1.103.895 1.998 1.998 1.998h1.334a2 2 0 0 0 1.998-1.998V7.999a2 2 0 0 0-1.998-1.998zm6.667 0A2 2 0 0 0 12.668 8v1.334c0 1.103.895 1.998 1.998 1.998H16a2 2 0 0 0 1.998-1.998V7.999A2 2 0 0 0 16 6.001z',
920
+ fill: 'currentColor',
921
+ fillRule: 'evenodd',
922
+ opacity: 1.0
923
+ }]
924
+ },
925
+ CrossedSmallSolid: {
926
+ viewBox: '0 0 24 24',
927
+ paths: [{
928
+ d: 'M17.87 8.25 14.12 12l3.75 3.75-2.12 2.121-3.75-3.75-3.75 3.75-2.121-2.121L9.879 12l-3.75-3.75 2.12-2.121L12 9.879l3.75-3.75 2.122 2.121Z',
929
+ fill: 'currentColor',
930
+ fillRule: 'nonzero',
931
+ opacity: 1.0
932
+ }]
933
+ },
934
+ AccountErrorCustom: {
935
+ viewBox: '0 0 18 18',
936
+ paths: [{
937
+ d: 'M12.5 12.75a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5',
938
+ fill: '#000',
939
+ fillRule: 'nonzero',
940
+ opacity: 0.447
941
+ }, {
942
+ d: 'M0 3.5A3.5 3.5 0 0 1 3.5 0h8.088A2.41 2.41 0 0 1 14 2.412V5h1a3 3 0 0 1 3 3v7a3 3 0 0 1-3 3H4a4 4 0 0 1-4-4zm2 3.163V14a2 2 0 0 0 2 2h11a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H3.5c-.537 0-1.045-.12-1.5-.337M2 3.5A1.5 1.5 0 0 0 3.5 5H12V2.412A.41.41 0 0 0 11.588 2H3.5A1.5 1.5 0 0 0 2 3.5',
943
+ fill: '#000',
944
+ fillRule: 'evenodd',
945
+ opacity: 0.447
946
+ }]
947
+ },
948
+ PlusSmallOutline: {
949
+ viewBox: '0 0 24 24',
950
+ paths: [{
951
+ d: 'M13 11h5v2h-5v5h-2v-5H6v-2h5V6h2z',
952
+ fill: 'currentColor',
953
+ fillRule: 'nonzero',
954
+ opacity: 1.0
955
+ }]
956
+ },
957
+ DotHorOutline: {
958
+ viewBox: '0 0 24 24',
959
+ paths: [{
960
+ d: 'M6 14H2v-4h4zm8 0h-4v-4h4zm8 0h-4v-4h4z',
961
+ fill: 'currentColor',
962
+ fillRule: 'nonzero',
963
+ opacity: 1.0
964
+ }]
965
+ },
966
+ ChevronRightSmallOutline: {
967
+ viewBox: '0 0 24 24',
968
+ paths: [{
969
+ d: 'M15.414 12 10 17.414 8.586 16l4-4-4-4L10 6.586z',
970
+ fill: 'currentColor',
971
+ fillRule: 'nonzero',
972
+ opacity: 1.0
973
+ }]
974
+ },
975
+ DragOutline: {
976
+ viewBox: '0 0 24 24',
977
+ paths: [{
978
+ d: 'M11 21H7v-4h4zm6 0h-4v-4h4zm-6-7H7v-4h4zm6 0h-4v-4h4zm-6-7H7V3h4zm6 0h-4V3h4z',
979
+ fill: 'currentColor',
980
+ fillRule: 'nonzero',
981
+ opacity: 1.0
982
+ }]
983
+ },
984
+ PencilOutline: {
985
+ viewBox: '0 0 24 24',
986
+ paths: [{
987
+ d: 'M22.414 7.5 7.914 22H2v-5.914l14.5-14.5zM4 16.914V20h3.086l9.5-9.5L13.5 7.414zM14.914 6 18 9.086 19.586 7.5 16.5 4.414z',
988
+ fill: 'currentColor',
989
+ fillRule: 'evenodd',
990
+ opacity: 1.0
991
+ }]
992
+ },
993
+ CheckboxCheckedCustom: {
994
+ viewBox: '0 0 16 16',
995
+ paths: [{
996
+ d: 'M12.204 5.043a1 1 0 0 1 0 1.414l-4.5 4.5a1 1 0 0 1-1.414 0l-2-2a1 1 0 1 1 1.414-1.414l1.293 1.293 3.793-3.793a1 1 0 0 1 1.414 0',
997
+ fill: 'currentColor',
998
+ fillRule: 'evenodd',
999
+ opacity: 1.0
1000
+ }]
1001
+ },
1002
+ CheckboxIndeterminateCustom: {
1003
+ viewBox: '0 0 16 16',
1004
+ paths: [{
1005
+ d: 'M4 8a1 1 0 0 1 1-1h6a1 1 0 0 1 0 2H5a1 1 0 0 1-1-1',
1006
+ fill: 'currentColor',
1007
+ fillRule: 'evenodd',
1008
+ opacity: 1.0
1009
+ }]
1010
+ },
1011
+ Circle: {
1012
+ viewBox: '0 0 24 24',
1013
+ paths: [{
1014
+ d: 'M0 12a12 12 0 1 0 24 0a12 12 0 1 0 -24 0',
1015
+ fill: 'currentColor',
1016
+ fillRule: 'nonzero',
1017
+ opacity: 1
1018
+ }]
1019
+ },
1020
+ BadgeVerifiedSolid: {
1021
+ viewBox: '0 0 24 24',
1022
+ paths: [{
1023
+ d: WEB_MARKET_VERIFIED_PATH,
1024
+ fill: 'currentColor',
1025
+ fillRule: 'evenodd',
1026
+ opacity: 1
1027
+ }]
1028
+ }
1029
+ };
727
1030
  function applySelectorIcon(element, name) {
728
- const canonical = selectorIcons[name];
729
- if (!canonical) return;
730
- if (canonical === 'Circle') {
731
- const svg = element.ownerDocument.createElementNS('http://www.w3.org/2000/svg', 'svg');
732
- svg.setAttribute('viewBox', '0 0 24 24');
733
- svg.setAttribute('width', '24');
734
- svg.setAttribute('height', '24');
735
- svg.setAttribute('aria-hidden', 'true');
736
- const circle = element.ownerDocument.createElementNS('http://www.w3.org/2000/svg', 'circle');
737
- circle.setAttribute('cx', '12');
738
- circle.setAttribute('cy', '12');
739
- circle.setAttribute('r', '12');
740
- circle.setAttribute('fill', 'currentColor');
741
- svg.append(circle);
742
- element.replaceChildren(svg);
743
- return;
744
- }
745
- element.replaceChildren(createNamedIcon(element.ownerDocument, canonical));
1031
+ const icon = selectorIcons[name];
1032
+ if (!icon) return;
1033
+ element.textContent = '';
1034
+ const svg = element.ownerDocument.createElementNS('http://www.w3.org/2000/svg', 'svg');
1035
+ svg.setAttribute('viewBox', icon.viewBox);
1036
+ svg.setAttribute('width', '24');
1037
+ svg.setAttribute('height', '24');
1038
+ svg.setAttribute('aria-hidden', 'true');
1039
+ icon.paths.forEach(path => {
1040
+ const child = element.ownerDocument.createElementNS('http://www.w3.org/2000/svg', 'path');
1041
+ child.setAttribute('d', path.d);
1042
+ child.setAttribute('fill', path.fill);
1043
+ child.setAttribute('fill-rule', path.fillRule);
1044
+ child.setAttribute('fill-opacity', String(path.opacity));
1045
+ svg.appendChild(child);
1046
+ });
1047
+ element.appendChild(svg);
746
1048
  }
747
1049
  function iconGlyph(name) {
748
1050
  const normalized = name.toLocaleLowerCase();
1051
+ if (normalized === 'dotversolid') return '⋮';
749
1052
  if (normalized.includes('chevron')) {
750
1053
  if (normalized.includes('top')) return '⌃';
751
1054
  if (normalized.includes('bottom')) return '⌄';
@@ -988,7 +1291,6 @@ function createIconAction(context, name, actionKey, disabled, tintColor) {
988
1291
  if (element.tagName === 'BUTTON') {
989
1292
  element.setAttribute('type', 'button');
990
1293
  element.toggleAttribute('disabled', Boolean(disabled));
991
- if (name === 'DotVerSolid') element.setAttribute('aria-label', '⋮');
992
1294
  }
993
1295
  applySelectorIcon(element, name);
994
1296
  if (actionKey) setData(element, 'nativeListAction', actionKey);
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- import { createNamedIcon } from '@onekeyfe/react-native-image/icon/dom';
4
3
  import { createElement, tagSlot, markActionAnchorSource } from "./RowElements.js";
5
4
  import { RowVisualStyle } from "./RowVisual.js";
6
5
  import { applyTextWeight, applyValueSegments } from "./RowText.js";
@@ -153,10 +152,22 @@ function createHistory(body, primitives) {
153
152
  histories.set(body, v);
154
153
  return v;
155
154
  }
156
- const historyIconNames = new Set(['ArrowTopOutline', 'ArrowBottomOutline', 'SwitchHorOutline', 'CoinsOutline', 'ShieldCheckDoneOutline', 'UnlockedOutline', 'Document2Outline', 'CryptoCoinOutline', 'ImageSquareWavesOutline', 'DotHorOutline']);
155
+ const historyIconPaths = {
156
+ ArrowTopOutline: ['M19.414 10 18 11.414l-5-5V21h-2V6.414l-5 5L4.586 10 12 2.586z'],
157
+ ArrowBottomOutline: ['m13 17.586 5-5L19.414 14 12 21.414 4.586 14 6 12.586l5 5V3h2z'],
158
+ SwitchHorOutline: ['m9.414 13-3 3H21v2H6.414l3 3L8 22.414 2.586 17 8 11.586zm12-6L16 12.414 14.586 11l3-3H3V6h14.586l-3-3L16 1.586z'],
159
+ CoinsOutline: ['M9 3a7 7 0 0 1 6.328 4.008 7 7 0 1 1-6.657 9.983A7 7 0 0 1 9 3m5.718 6.008a5 5 0 1 0 .566 9.985 5 5 0 0 0-.566-9.985M9 5a5 5 0 0 0-.941 9.91 7 7 0 0 1 5.11-7.667A4.99 4.99 0 0 0 8.999 5Z'],
160
+ ShieldCheckDoneOutline: ['M15.914 9.75 11 14.664 8.086 11.75 9.5 10.336l1.5 1.5 3.5-3.5z', 'M12.325 2.055 21 5.036v6.876c0 2.807-1.149 4.83-2.813 6.404-1.615 1.53-3.745 2.66-5.712 3.722l-.475.256-.475-.256c-1.967-1.061-4.097-2.192-5.713-3.722C4.15 16.741 3 14.72 3 11.912V5.036l8.675-2.981.325-.113zM5 6.463v5.45c0 2.165.851 3.686 2.188 4.951 1.275 1.208 2.965 2.154 4.812 3.154 1.847-1 3.537-1.946 4.813-3.154C18.148 15.6 19 14.078 19 11.912v-5.45l-7-2.405z'],
161
+ UnlockedOutline: ['M13 18h-2v-5h2z', 'M12 2a5 5 0 0 1 5 5h-2a3 3 0 0 0-6 0v2h11v13H4V9h3V7a5 5 0 0 1 5-5M6 20h12v-9H6z'],
162
+ Document2Outline: ['M12 16H8v-2h4zm4-4H8v-2h8zm0-4H8V6h8z', 'M20 22H4V2h16zM6 20h12V4H6z'],
163
+ CryptoCoinOutline: ['M11 16.387a4.5 4.5 0 0 1 0-8.775V6h2v1.613a4.5 4.5 0 0 1 2.856 2.067l-1.712 1.032a2.5 2.5 0 1 0 0 2.576l1.712 1.032A4.5 4.5 0 0 1 13 16.386V18h-2z', 'M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10m-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0'],
164
+ ImageSquareWavesOutline: ['M14.25 7a2 2 0 1 1 0 4 2 2 0 0 1 0-4', 'M21 21H3V3h18zM5 16.414V19h12.586L14 15.414l-2 2-4-4zm0-2.828 3-3 4 4 2-2 5 5V5H5z'],
165
+ DotHorOutline: ['M6 14H2v-4h4zm8 0h-4v-4h4zm8 0h-4v-4h4z']
166
+ };
157
167
  function historyIcon(node, source, size) {
158
168
  const name = source?.kind === 'icon' ? source.name : source?.kind === 'token' ? source.fallbackIcon?.name : undefined;
159
- if (!name || !historyIconNames.has(name)) return;
169
+ const paths = name && historyIconPaths[name];
170
+ if (!paths) return;
160
171
  const placeholder = node.querySelector('.ok-native-list-visual-fallback');
161
172
  if (!placeholder && source && 'image' in source && source.image) return;
162
173
  const fallback = placeholder ?? node;
@@ -168,9 +179,18 @@ function historyIcon(node, source, size) {
168
179
  height: '100%'
169
180
  });
170
181
  if (source?.kind === 'icon' && source.tintColor) fallback.style.color = source.tintColor;else if (source && 'fallbackIcon' in source && source.fallbackIcon?.tintColor) fallback.style.color = source.fallbackIcon.tintColor;
171
- const svg = createNamedIcon(node.ownerDocument, name);
182
+ const svg = node.ownerDocument.createElementNS('http://www.w3.org/2000/svg', 'svg');
183
+ svg.setAttribute('viewBox', '0 0 24 24');
172
184
  svg.setAttribute('width', String(size));
173
185
  svg.setAttribute('height', String(size));
186
+ svg.setAttribute('fill', 'currentColor');
187
+ svg.setAttribute('aria-hidden', 'true');
188
+ for (const d of paths) {
189
+ const path = node.ownerDocument.createElementNS('http://www.w3.org/2000/svg', 'path');
190
+ path.setAttribute('d', d);
191
+ path.setAttribute('fill-rule', 'evenodd');
192
+ svg.append(path);
193
+ }
174
194
  fallback.replaceChildren(svg);
175
195
  }
176
196
  function bindHistory(body, row, primitives) {
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import { createNamedIcon } from '@onekeyfe/react-native-image/icon/dom';
4
3
  import { createElement, markActionAnchorSource } from "./RowElements.js";
5
4
  import { applyTextWeight, applyValueSegments } from "./RowText.js";
6
5
  const views = new WeakMap();
7
6
  const columnSignatures = new WeakMap();
8
7
  let sparklineId = 0;
9
8
  const svgNamespace = 'http://www.w3.org/2000/svg';
9
+ const outlineStar = 'm15.455 7.243 7.729 1.123-5.592 5.45 1.32 7.698L12 17.879l-6.911 3.635 1.32-7.698-5.592-5.45 7.728-1.123L12 .24zM9.872 9.071l-4.759.69 3.444 3.358-.814 4.738L12 15.62l.465.245 3.791 1.993-.813-4.739 3.443-3.357-4.758-.69L12 4.758z';
10
+ const solidStar = 'm15.405 7.313 7.84 1.034-5.735 5.443 1.44 7.774L12 17.793l-6.948 3.771 1.44-7.774L.756 8.347l7.839-1.034L12 .178z';
10
11
  function columnsSignature(columns) {
11
12
  let signature = columnSignatures.get(columns);
12
13
  if (signature === undefined) {
@@ -112,10 +113,17 @@ function action(element, key, label, slot) {
112
113
  flexShrink: '0'
113
114
  });
114
115
  }
115
- function icon(document, name, size) {
116
- const svg = createNamedIcon(document, name);
116
+ function icon(document, d, size) {
117
+ const svg = document.createElementNS(svgNamespace, 'svg');
118
+ svg.setAttribute('viewBox', '0 0 24 24');
117
119
  svg.setAttribute('width', String(size));
118
120
  svg.setAttribute('height', String(size));
121
+ svg.setAttribute('aria-hidden', 'true');
122
+ svg.setAttribute('fill', 'currentColor');
123
+ const path = document.createElementNS(svgNamespace, 'path');
124
+ path.setAttribute('d', d);
125
+ path.setAttribute('fill-rule', 'evenodd');
126
+ svg.appendChild(path);
119
127
  return svg;
120
128
  }
121
129
  function drawSparkline(element, cell) {
@@ -323,7 +331,7 @@ function updateCell(view, cell, primitives, index) {
323
331
  }[badge.style?.fontWeight ?? 'regular']);
324
332
  if (badge.actionKey) node.dataset.nativeListHoverAction = 'true';
325
333
  node.textContent = '';
326
- const svg = icon(document, 'BadgeRecognizedSolid', 14);
334
+ const svg = icon(document, 'M9.483 11.458v3.5h-1v-3.5z M10.467 2.698a2.03 2.03 0 0 1 3.065 0l1.358 1.564a.03.03 0 0 0 .028.01l2.046-.325a2.03 2.03 0 0 1 2.347 1.971l.037 2.07q0 .016.014.026l1.776 1.066a2.03 2.03 0 0 1 .532 3.019l-1.304 1.609a.03.03 0 0 0-.005.03l.675 1.956a2.03 2.03 0 0 1-1.533 2.656l-2.033.394a.03.03 0 0 0-.023.019l-.741 1.933a2.03 2.03 0 0 1-2.88 1.05l-1.811-1.006a.03.03 0 0 0-.03 0l-1.811 1.005a2.03 2.03 0 0 1-2.88-1.049l-.742-1.933a.03.03 0 0 0-.023-.019l-2.033-.394a2.03 2.03 0 0 1-1.532-2.656l.675-1.957a.03.03 0 0 0-.005-.029l-1.304-1.61a2.03 2.03 0 0 1 .532-3.018l1.776-1.066a.03.03 0 0 0 .014-.026l.035-2.07a2.03 2.03 0 0 1 2.349-1.97l2.045.324a.03.03 0 0 0 .028-.01zm1.516 3.76a.5.5 0 0 0-.447.276l-1.861 3.724H8.483a1 1 0 0 0-1 1v3.5a1 1 0 0 0 1 1h6.692a2 2 0 0 0 1.981-1.73l.341-2.5a2 2 0 0 0-1.982-2.27h-1.939l.197-1.269a1.5 1.5 0 0 0-1.481-1.731z', 14);
327
335
  node.appendChild(svg);
328
336
  }
329
337
  title.appendChild(node);
@@ -424,7 +432,7 @@ function updateCell(view, cell, primitives, index) {
424
432
  action(button, cell.hoverActionKey, cell.hoverActionLabel ?? 'Copy address', index);
425
433
  button.style.padding = '0';
426
434
  button.style.color = 'var(--nl-icon-subdued)';
427
- button.appendChild(icon(document, 'Copy3Outline', 14));
435
+ button.appendChild(icon(document, 'M21 17h-4v4H3V7h4V3h14zM5 19h10V9H5zM9 7h8v8h2V5H9z', 14));
428
436
  hoverFrame.appendChild(button);
429
437
  }
430
438
  track.appendChild(hoverFrame);
@@ -447,14 +455,10 @@ function updateCell(view, cell, primitives, index) {
447
455
  button.style.color = cell.active ? 'var(--nl-accent)' : 'var(--nl-icon-subdued)';
448
456
  let svg = button.querySelector('svg');
449
457
  if (!svg) {
450
- svg = icon(document, cell.active ? 'StarSolid' : 'StarOutline', 16);
458
+ svg = icon(document, cell.active ? solidStar : outlineStar, 16);
451
459
  button.appendChild(svg);
452
460
  }
453
- const name = cell.active ? 'StarSolid' : 'StarOutline';
454
- if (!svg.querySelector('use')?.getAttribute('href')?.endsWith(`#onekey-${name}`)) {
455
- const replacement = icon(document, name, 16);
456
- svg.replaceWith(replacement);
457
- }
461
+ svg.querySelector('path')?.setAttribute('d', cell.active ? solidStar : outlineStar);
458
462
  if (!button.parentElement) element.appendChild(button);
459
463
  } else if (cell.kind === 'sparkline') drawSparkline(element, cell);else {
460
464
  element.replaceChildren();
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- import { createNamedIcon } from '@onekeyfe/react-native-image/icon/dom';
4
3
  const views = new WeakMap();
5
4
  function bindLegacy(body, row, primitives) {
6
5
  const v = views.get(body);
@@ -149,7 +148,18 @@ function initGallery(body, primitives) {
149
148
  };
150
149
  const frame = element('ok-native-list-media-image');
151
150
  const fallback = element('ok-native-list-media-fallback');
152
- const svg = createNamedIcon(document, 'ImageSquareWavesOutline');
151
+ const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
152
+ svg.setAttribute('viewBox', '0 0 24 24');
153
+ svg.setAttribute('width', '24');
154
+ svg.setAttribute('height', '24');
155
+ svg.setAttribute('aria-hidden', 'true');
156
+ svg.setAttribute('fill', 'currentColor');
157
+ for (const d of ['M14.25 7a2 2 0 1 1 0 4 2 2 0 0 1 0-4', 'M21 21H3V3h18zM5 16.414V19h12.586L14 15.414l-2 2-4-4zm0-2.828 3-3 4 4 2-2 5 5V5H5z']) {
158
+ const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
159
+ path.setAttribute('d', d);
160
+ path.setAttribute('fill-rule', 'evenodd');
161
+ svg.append(path);
162
+ }
153
163
  fallback.append(svg);
154
164
  Object.assign(fallback.style, {
155
165
  position: 'absolute',
@@ -8,6 +8,7 @@ export declare const WEB_REORDER_ANIMATION: {
8
8
  readonly dropDurationMs: 80;
9
9
  readonly dropTimingFunction: "ease";
10
10
  };
11
+ export declare const WEB_MARKET_VERIFIED_PATH = "M9.483 11.458v3.5h-1v-3.5z M10.467 2.698a2.03 2.03 0 0 1 3.065 0l1.358 1.564a.03.03 0 0 0 .028.01l2.046-.325a2.03 2.03 0 0 1 2.347 1.971l.037 2.07q0 .016.014.026l1.776 1.066a2.03 2.03 0 0 1 .532 3.019l-1.304 1.609a.03.03 0 0 0-.005.03l.675 1.956a2.03 2.03 0 0 1-1.533 2.656l-2.033.394a.03.03 0 0 0-.023.019l-.741 1.933a2.03 2.03 0 0 1-2.88 1.05l-1.811-1.006a.03.03 0 0 0-.03 0l-1.811 1.005a2.03 2.03 0 0 1-2.88-1.049l-.742-1.933a.03.03 0 0 0-.023-.019l-2.033-.394a2.03 2.03 0 0 1-1.532-2.656l.675-1.957a.03.03 0 0 0-.005-.029l-1.304-1.61a2.03 2.03 0 0 1 .532-3.018l1.776-1.066a.03.03 0 0 0 .014-.026l.035-2.07a2.03 2.03 0 0 1 2.349-1.97l2.045.324a.03.03 0 0 0 .028-.01zm1.516 3.76a.5.5 0 0 0-.447.276l-1.861 3.724H8.483a1 1 0 0 0-1 1v3.5a1 1 0 0 0 1 1h6.692a2 2 0 0 0 1.981-1.73l.341-2.5a2 2 0 0 0-1.982-2.27h-1.939l.197-1.269a1.5 1.5 0 0 0-1.481-1.731z";
11
12
  export type WebLayoutItem = Readonly<{
12
13
  index: number;
13
14
  key: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/react-native-native-list",
3
- "version": "6.7.0-alpha.412",
3
+ "version": "6.7.0-alpha.413",
4
4
  "description": "Template-driven native RecyclerView and UICollectionView for React Native",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/module/index.js",
@@ -33,9 +33,6 @@
33
33
  "scripts"
34
34
  ],
35
35
  "scripts": {
36
- "icons:generate": "node scripts/generate-icons.mjs",
37
- "icons:check": "node scripts/generate-icons.mjs --check",
38
- "icons:test": "node scripts/generate-icons.test.mjs",
39
36
  "clean": "del-cli lib",
40
37
  "prepare": "del-cli lib && bob build && cp -r nitrogen lib/nitrogen",
41
38
  "nitrogen": "nitrogen && node scripts/enable-container-slots.mjs",
@@ -89,8 +86,8 @@
89
86
  "typescript": "^5.9.2"
90
87
  },
91
88
  "peerDependencies": {
92
- "@onekeyfe/react-native-image": "6.7.0-alpha.412",
93
- "@onekeyfe/react-native-native-logger": "6.7.0-alpha.412",
89
+ "@onekeyfe/react-native-image": "6.7.0-alpha.413",
90
+ "@onekeyfe/react-native-native-logger": "6.7.0-alpha.413",
94
91
  "react": "*",
95
92
  "react-native": "*",
96
93
  "react-native-nitro-modules": "0.37.0"
@@ -124,10 +121,7 @@
124
121
  "preset": "react-native",
125
122
  "modulePathIgnorePatterns": [
126
123
  "<rootDir>/lib/"
127
- ],
128
- "moduleNameMapper": {
129
- "^#onekey-icon-assets$": "<rootDir>/../../example/react-native/icon-fixtures/web/assetUrls.ts"
130
- }
124
+ ]
131
125
  },
132
126
  "prettier": {
133
127
  "singleQuote": true,
@@ -14,6 +14,11 @@ Pod::Spec.new do |s|
14
14
  s.source = { :git => "https://github.com/OneKeyHQ/app-modules.git", :tag => "#{s.version}" }
15
15
  s.source_files = ["ios/**/*.{swift,h,m,mm,cpp}"]
16
16
  s.exclude_files = "ios/tests/**/*"
17
+ s.resource_bundles = {
18
+ "NativeListResources" => [
19
+ "ios/Resources/NativeListIcons.xcassets"
20
+ ]
21
+ }
17
22
  s.static_framework = true
18
23
 
19
24
  s.pod_target_xcconfig = {