@onekeyfe/react-native-native-list 6.7.0-alpha.415 → 6.7.0-alpha.421
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/android/src/main/java/com/onekey/nativelist/NativeListAccessoryStack.kt +5 -0
- package/android/src/main/java/com/onekey/nativelist/NativeListGeneratedIcons.kt +47 -0
- package/android/src/main/java/com/onekey/nativelist/NativeListLeadingVisual.kt +5 -0
- package/android/src/main/java/com/onekey/nativelist/NativeListPrimitives.kt +120 -338
- package/android/src/main/java/com/onekey/nativelist/NativeListRendererRowView.kt +5 -0
- package/docs/SPEC.md +139 -7
- package/ios/NativeListAccessoryStack.swift +6 -16
- package/ios/NativeListDataRowRenderer.swift +15 -6
- package/ios/NativeListDesignAssets.swift +13 -84
- package/ios/NativeListGeneratedIcons.swift +55 -0
- package/ios/NativeListIconBinding.swift +171 -0
- package/ios/NativeListIdentityRenderer.swift +12 -10
- package/ios/NativeListLeadingVisual.swift +11 -9
- package/ios/NativeListMarketRenderer.swift +7 -13
- package/ios/NativeListMediaTileRenderer.swift +6 -2
- package/ios/NativeListMetricCardRenderer.swift +4 -2
- package/ios/NativeListSectionHeaderRenderer.swift +12 -4
- package/ios/tests/NativeListAccessoryStackTests.swift +12 -0
- package/ios/tests/NativeListSharedIconTests.swift +236 -0
- package/lib/module/web/NativeListGeneratedIcons.js +31 -0
- package/lib/module/web/NativeListWebEngine.js +21 -323
- package/lib/module/web/templates/ActivityRowRenderer.js +4 -24
- package/lib/module/web/templates/MarketTableRowRenderer.js +36 -19
- package/lib/module/web/templates/MediaTileRowRenderer.js +2 -12
- package/lib/typescript/src/web/NativeListGeneratedIcons.d.ts +2 -0
- package/lib/typescript/src/web/NativeListWebEngine.d.ts +0 -1
- package/package.json +10 -4
- package/react-native-native-list.podspec +0 -5
- package/scripts/generate-icons.mjs +150 -0
- package/scripts/generate-icons.test.mjs +288 -0
- package/scripts/native-list-icons.json +260 -0
- package/src/web/NativeListGeneratedIcons.ts +28 -0
- package/src/web/NativeListWebEngine.ts +25 -405
- package/src/web/templates/ActivityRowRenderer.ts +15 -53
- package/src/web/templates/MarketTableRowRenderer.ts +53 -33
- package/src/web/templates/MediaTileRowRenderer.ts +2 -15
- package/ios/Resources/NativeListIcons.xcassets/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_arrow_bottom.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_arrow_bottom.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_arrow_top.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_arrow_top.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_badge_verified_solid.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_badge_verified_solid.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_chart_trending_up.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_chart_trending_up.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_checkbox_checked.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_checkbox_checked.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_checkbox_indeterminate.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_checkbox_indeterminate.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_bottom.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_bottom.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_grabber_ver.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_grabber_ver.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_right_small.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_right_small.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_top.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_chevron_top.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_crypto_coin_outline.imageset/Contents.json +0 -15
- package/ios/Resources/NativeListIcons.xcassets/onekey_crypto_coin_outline.imageset/icon.svg +0 -4
- package/ios/Resources/NativeListIcons.xcassets/onekey_document2.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_document2.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_dot_hor.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_dot_hor.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_dot_ver_solid.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_dot_ver_solid.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_drag.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_drag.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_error_solid.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_error_solid.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_gas_solid.imageset/Contents.json +0 -15
- package/ios/Resources/NativeListIcons.xcassets/onekey_gas_solid.imageset/icon.svg +0 -3
- package/ios/Resources/NativeListIcons.xcassets/onekey_image_square_waves.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_image_square_waves.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_info_circle.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_info_circle.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_minus_circle.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_minus_circle.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_minus_circle_solid.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_minus_circle_solid.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_pencil.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_pencil.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_plus_circle.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_plus_circle.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_plus_large.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_plus_large.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_plus_small.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_plus_small.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_questionmark_solid.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_questionmark_solid.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_refresh_ccw_outline.imageset/Contents.json +0 -15
- package/ios/Resources/NativeListIcons.xcassets/onekey_refresh_ccw_outline.imageset/icon.svg +0 -3
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_account_error_custom.imageset/Contents.json +0 -15
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_account_error_custom.imageset/icon.svg +0 -14
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_all_networks_solid.imageset/Contents.json +0 -15
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_all_networks_solid.imageset/icon.svg +0 -12
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_apple_brand.imageset/Contents.json +0 -15
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_apple_brand.imageset/icon.svg +0 -6
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_bot_illus.imageset/Contents.json +0 -15
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_bot_illus.imageset/icon.svg +0 -15
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_crossed_small_solid.imageset/Contents.json +0 -15
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_crossed_small_solid.imageset/icon.svg +0 -3
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_globus_outline.imageset/Contents.json +0 -15
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_globus_outline.imageset/icon.svg +0 -7
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_google_illus.imageset/Contents.json +0 -15
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_google_illus.imageset/icon.svg +0 -18
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_lock_solid.imageset/Contents.json +0 -15
- package/ios/Resources/NativeListIcons.xcassets/onekey_selector_lock_solid.imageset/icon.svg +0 -7
- package/ios/Resources/NativeListIcons.xcassets/onekey_shield_exclamation.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_shield_exclamation.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_speaker_promote.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_speaker_promote.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_star.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_star.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_star_solid.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_star_solid.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_swap_hor.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_swap_hor.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_ticket.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_ticket.imageset/icon.svg +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_wallet.imageset/Contents.json +0 -1
- package/ios/Resources/NativeListIcons.xcassets/onekey_wallet.imageset/icon.svg +0 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { createNamedIcon } from '@onekeyfe/react-native-image/icon/dom';
|
|
4
|
+
import { nativeListGeneratedIcons as selectorIcons } from "./NativeListGeneratedIcons.js";
|
|
3
5
|
import { applyTextWeight } from "./templates/RowText.js";
|
|
4
6
|
import { applyRowContainerStyle, resetRowContainerStyle } from "./templates/RowContainerStyle.js";
|
|
5
7
|
import { hasExplicitRowHeight, rowSizeModifier } from "./templates/RowElements.js";
|
|
@@ -37,7 +39,6 @@ export const WEB_REORDER_ANIMATION = {
|
|
|
37
39
|
const REORDER_TOUCH_LONG_PRESS_MS = 120;
|
|
38
40
|
const MARKET_LONG_PRESS_MS = 800;
|
|
39
41
|
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';
|
|
41
42
|
const REORDER_MOUSE_MOVE_THRESHOLD_PX = 5;
|
|
42
43
|
const REORDER_EDGE_RATIO = 0.25;
|
|
43
44
|
const REORDER_MAX_SPEED_ZONE_RATIO = 0.05;
|
|
@@ -723,332 +724,28 @@ function paintSelectorImageBackground(image, frame, inset = 0) {
|
|
|
723
724
|
frame.insertBefore(paint, image);
|
|
724
725
|
if (image.complete && image.naturalWidth > 0) update();
|
|
725
726
|
}
|
|
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
|
-
};
|
|
1030
727
|
function applySelectorIcon(element, name) {
|
|
1031
|
-
const
|
|
1032
|
-
if (!
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
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));
|
|
1048
746
|
}
|
|
1049
747
|
function iconGlyph(name) {
|
|
1050
748
|
const normalized = name.toLocaleLowerCase();
|
|
1051
|
-
if (normalized === 'dotversolid') return '⋮';
|
|
1052
749
|
if (normalized.includes('chevron')) {
|
|
1053
750
|
if (normalized.includes('top')) return '⌃';
|
|
1054
751
|
if (normalized.includes('bottom')) return '⌄';
|
|
@@ -1291,6 +988,7 @@ function createIconAction(context, name, actionKey, disabled, tintColor) {
|
|
|
1291
988
|
if (element.tagName === 'BUTTON') {
|
|
1292
989
|
element.setAttribute('type', 'button');
|
|
1293
990
|
element.toggleAttribute('disabled', Boolean(disabled));
|
|
991
|
+
if (name === 'DotVerSolid') element.setAttribute('aria-label', '⋮');
|
|
1294
992
|
}
|
|
1295
993
|
applySelectorIcon(element, name);
|
|
1296
994
|
if (actionKey) setData(element, 'nativeListAction', actionKey);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { createNamedIcon } from '@onekeyfe/react-native-image/icon/dom';
|
|
3
4
|
import { createElement, tagSlot, markActionAnchorSource } from "./RowElements.js";
|
|
4
5
|
import { RowVisualStyle } from "./RowVisual.js";
|
|
5
6
|
import { applyTextWeight, applyValueSegments } from "./RowText.js";
|
|
@@ -152,22 +153,10 @@ function createHistory(body, primitives) {
|
|
|
152
153
|
histories.set(body, v);
|
|
153
154
|
return v;
|
|
154
155
|
}
|
|
155
|
-
const
|
|
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
|
-
};
|
|
156
|
+
const historyIconNames = new Set(['ArrowTopOutline', 'ArrowBottomOutline', 'SwitchHorOutline', 'CoinsOutline', 'ShieldCheckDoneOutline', 'UnlockedOutline', 'Document2Outline', 'CryptoCoinOutline', 'ImageSquareWavesOutline', 'DotHorOutline']);
|
|
167
157
|
function historyIcon(node, source, size) {
|
|
168
158
|
const name = source?.kind === 'icon' ? source.name : source?.kind === 'token' ? source.fallbackIcon?.name : undefined;
|
|
169
|
-
|
|
170
|
-
if (!paths) return;
|
|
159
|
+
if (!name || !historyIconNames.has(name)) return;
|
|
171
160
|
const placeholder = node.querySelector('.ok-native-list-visual-fallback');
|
|
172
161
|
if (!placeholder && source && 'image' in source && source.image) return;
|
|
173
162
|
const fallback = placeholder ?? node;
|
|
@@ -179,18 +168,9 @@ function historyIcon(node, source, size) {
|
|
|
179
168
|
height: '100%'
|
|
180
169
|
});
|
|
181
170
|
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;
|
|
182
|
-
const svg = node.ownerDocument
|
|
183
|
-
svg.setAttribute('viewBox', '0 0 24 24');
|
|
171
|
+
const svg = createNamedIcon(node.ownerDocument, name);
|
|
184
172
|
svg.setAttribute('width', String(size));
|
|
185
173
|
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
|
-
}
|
|
194
174
|
fallback.replaceChildren(svg);
|
|
195
175
|
}
|
|
196
176
|
function bindHistory(body, row, primitives) {
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { createNamedIcon } from '@onekeyfe/react-native-image/icon/dom';
|
|
3
4
|
import { createElement, markActionAnchorSource } from "./RowElements.js";
|
|
4
5
|
import { applyTextWeight, applyValueSegments } from "./RowText.js";
|
|
5
6
|
const views = new WeakMap();
|
|
6
7
|
const columnSignatures = new WeakMap();
|
|
7
8
|
let sparklineId = 0;
|
|
8
9
|
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';
|
|
11
10
|
function columnsSignature(columns) {
|
|
12
11
|
let signature = columnSignatures.get(columns);
|
|
13
12
|
if (signature === undefined) {
|
|
@@ -113,17 +112,10 @@ function action(element, key, label, slot) {
|
|
|
113
112
|
flexShrink: '0'
|
|
114
113
|
});
|
|
115
114
|
}
|
|
116
|
-
function icon(document,
|
|
117
|
-
const svg = document
|
|
118
|
-
svg.setAttribute('viewBox', '0 0 24 24');
|
|
115
|
+
function icon(document, name, size) {
|
|
116
|
+
const svg = createNamedIcon(document, name);
|
|
119
117
|
svg.setAttribute('width', String(size));
|
|
120
118
|
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);
|
|
127
119
|
return svg;
|
|
128
120
|
}
|
|
129
121
|
function drawSparkline(element, cell) {
|
|
@@ -203,11 +195,32 @@ function updateCell(view, cell, primitives, index) {
|
|
|
203
195
|
if (cell.kind === 'asset') {
|
|
204
196
|
const visualKey = JSON.stringify(cell.leading);
|
|
205
197
|
if (view.visualKey !== visualKey) {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
198
|
+
const visualImageKey = JSON.stringify(cell.leading?.kind === 'token' ? {
|
|
199
|
+
...cell.leading,
|
|
200
|
+
overlays: undefined
|
|
201
|
+
} : cell.leading);
|
|
202
|
+
if (view.visual && cell.leading?.kind === 'token' && view.visualImageKey === visualImageKey) {
|
|
203
|
+
// Keep the main frame: its load/error callbacks own its visibility.
|
|
204
|
+
for (const overlay of view.visual.querySelectorAll(':scope > .ok-native-list-visual-overlay')) {
|
|
205
|
+
primitives.dispose(overlay);
|
|
206
|
+
overlay.remove();
|
|
207
|
+
}
|
|
208
|
+
const overlayVisual = primitives.visual({
|
|
209
|
+
kind: 'token',
|
|
210
|
+
overlays: cell.leading.overlays
|
|
211
|
+
});
|
|
212
|
+
if (overlayVisual) {
|
|
213
|
+
for (const overlay of overlayVisual.querySelectorAll(':scope > .ok-native-list-visual-overlay')) view.visual.appendChild(overlay);
|
|
214
|
+
primitives.dispose(overlayVisual);
|
|
215
|
+
}
|
|
216
|
+
} else {
|
|
217
|
+
if (view.visual) {
|
|
218
|
+
primitives.dispose(view.visual);
|
|
219
|
+
view.visual.remove();
|
|
220
|
+
}
|
|
221
|
+
view.visual = primitives.visual(cell.leading);
|
|
209
222
|
}
|
|
210
|
-
view.
|
|
223
|
+
view.visualImageKey = visualImageKey;
|
|
211
224
|
view.visualKey = visualKey;
|
|
212
225
|
if (view.visual) Object.assign(view.visual.style, {
|
|
213
226
|
width: '40px',
|
|
@@ -331,7 +344,7 @@ function updateCell(view, cell, primitives, index) {
|
|
|
331
344
|
}[badge.style?.fontWeight ?? 'regular']);
|
|
332
345
|
if (badge.actionKey) node.dataset.nativeListHoverAction = 'true';
|
|
333
346
|
node.textContent = '';
|
|
334
|
-
const svg = icon(document, '
|
|
347
|
+
const svg = icon(document, 'BadgeRecognizedSolid', 14);
|
|
335
348
|
node.appendChild(svg);
|
|
336
349
|
}
|
|
337
350
|
title.appendChild(node);
|
|
@@ -432,7 +445,7 @@ function updateCell(view, cell, primitives, index) {
|
|
|
432
445
|
action(button, cell.hoverActionKey, cell.hoverActionLabel ?? 'Copy address', index);
|
|
433
446
|
button.style.padding = '0';
|
|
434
447
|
button.style.color = 'var(--nl-icon-subdued)';
|
|
435
|
-
button.appendChild(icon(document, '
|
|
448
|
+
button.appendChild(icon(document, 'Copy3Outline', 14));
|
|
436
449
|
hoverFrame.appendChild(button);
|
|
437
450
|
}
|
|
438
451
|
track.appendChild(hoverFrame);
|
|
@@ -455,10 +468,14 @@ function updateCell(view, cell, primitives, index) {
|
|
|
455
468
|
button.style.color = cell.active ? 'var(--nl-accent)' : 'var(--nl-icon-subdued)';
|
|
456
469
|
let svg = button.querySelector('svg');
|
|
457
470
|
if (!svg) {
|
|
458
|
-
svg = icon(document, cell.active ?
|
|
471
|
+
svg = icon(document, cell.active ? 'StarSolid' : 'StarOutline', 16);
|
|
459
472
|
button.appendChild(svg);
|
|
460
473
|
}
|
|
461
|
-
|
|
474
|
+
const name = cell.active ? 'StarSolid' : 'StarOutline';
|
|
475
|
+
if (!svg.querySelector('use')?.getAttribute('href')?.endsWith(`#onekey-${name}`)) {
|
|
476
|
+
const replacement = icon(document, name, 16);
|
|
477
|
+
svg.replaceWith(replacement);
|
|
478
|
+
}
|
|
462
479
|
if (!button.parentElement) element.appendChild(button);
|
|
463
480
|
} else if (cell.kind === 'sparkline') drawSparkline(element, cell);else {
|
|
464
481
|
element.replaceChildren();
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { createNamedIcon } from '@onekeyfe/react-native-image/icon/dom';
|
|
3
4
|
const views = new WeakMap();
|
|
4
5
|
function bindLegacy(body, row, primitives) {
|
|
5
6
|
const v = views.get(body);
|
|
@@ -148,18 +149,7 @@ function initGallery(body, primitives) {
|
|
|
148
149
|
};
|
|
149
150
|
const frame = element('ok-native-list-media-image');
|
|
150
151
|
const fallback = element('ok-native-list-media-fallback');
|
|
151
|
-
const svg = document
|
|
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
|
-
}
|
|
152
|
+
const svg = createNamedIcon(document, 'ImageSquareWavesOutline');
|
|
163
153
|
fallback.append(svg);
|
|
164
154
|
Object.assign(fallback.style, {
|
|
165
155
|
position: 'absolute',
|
|
@@ -8,7 +8,6 @@ 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";
|
|
12
11
|
export type WebLayoutItem = Readonly<{
|
|
13
12
|
index: number;
|
|
14
13
|
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.
|
|
3
|
+
"version": "6.7.0-alpha.421",
|
|
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,6 +33,9 @@
|
|
|
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",
|
|
36
39
|
"clean": "del-cli lib",
|
|
37
40
|
"prepare": "del-cli lib && bob build && cp -r nitrogen lib/nitrogen",
|
|
38
41
|
"nitrogen": "nitrogen && node scripts/enable-container-slots.mjs",
|
|
@@ -86,8 +89,8 @@
|
|
|
86
89
|
"typescript": "^5.9.2"
|
|
87
90
|
},
|
|
88
91
|
"peerDependencies": {
|
|
89
|
-
"@onekeyfe/react-native-image": "6.7.0-alpha.
|
|
90
|
-
"@onekeyfe/react-native-native-logger": "6.7.0-alpha.
|
|
92
|
+
"@onekeyfe/react-native-image": "6.7.0-alpha.421",
|
|
93
|
+
"@onekeyfe/react-native-native-logger": "6.7.0-alpha.421",
|
|
91
94
|
"react": "*",
|
|
92
95
|
"react-native": "*",
|
|
93
96
|
"react-native-nitro-modules": "0.37.0"
|
|
@@ -121,7 +124,10 @@
|
|
|
121
124
|
"preset": "react-native",
|
|
122
125
|
"modulePathIgnorePatterns": [
|
|
123
126
|
"<rootDir>/lib/"
|
|
124
|
-
]
|
|
127
|
+
],
|
|
128
|
+
"moduleNameMapper": {
|
|
129
|
+
"^#onekey-icon-assets$": "<rootDir>/../../example/react-native/icon-fixtures/web/assetUrls.ts"
|
|
130
|
+
}
|
|
125
131
|
},
|
|
126
132
|
"prettier": {
|
|
127
133
|
"singleQuote": true,
|
|
@@ -14,11 +14,6 @@ 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
|
-
}
|
|
22
17
|
s.static_framework = true
|
|
23
18
|
|
|
24
19
|
s.pod_target_xcconfig = {
|