@deriv-web-design/ui 0.1.20 → 0.1.21
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/block-registry.json +754 -12
- package/components.manifest.json +380 -1
- package/dist/index.css +1153 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +391 -6
- package/dist/index.d.ts +391 -6
- package/dist/index.js +1408 -215
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1273 -89
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/components.manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$comment": "Generated by scripts/generate-component-manifest.ts from the TypeScript types. Do not edit by hand. Props inherited from React HTMLAttributes are intentionally omitted. `default` is the value declared in the component's own parameter destructuring; a prop whose effective default is applied further down the tree (e.g. cards[].showLink) has no `default` here — see block-registry.json `fields` for documented effective defaults.",
|
|
3
3
|
"package": "@deriv-web-design/ui",
|
|
4
|
-
"componentCount":
|
|
4
|
+
"componentCount": 63,
|
|
5
5
|
"components": {
|
|
6
6
|
"Accordion": {
|
|
7
7
|
"name": "Accordion",
|
|
@@ -57,6 +57,111 @@
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
|
+
"AffiliatesSlider": {
|
|
61
|
+
"name": "AffiliatesSlider",
|
|
62
|
+
"source": "templates/AffiliatesSlider/AffiliatesSlider.tsx",
|
|
63
|
+
"props": {
|
|
64
|
+
"currencySymbol": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"required": false,
|
|
67
|
+
"description": "Currency symbol prepended to the income figure.",
|
|
68
|
+
"default": "$"
|
|
69
|
+
},
|
|
70
|
+
"defaultValue": {
|
|
71
|
+
"type": "number",
|
|
72
|
+
"required": false,
|
|
73
|
+
"description": "Initial slider value when uncontrolled.",
|
|
74
|
+
"default": 10
|
|
75
|
+
},
|
|
76
|
+
"description": {
|
|
77
|
+
"type": "string",
|
|
78
|
+
"required": false,
|
|
79
|
+
"description": "Intro paragraph under the heading",
|
|
80
|
+
"default": "Explain how this specific feature helps your user."
|
|
81
|
+
},
|
|
82
|
+
"disclaimer": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"required": false,
|
|
85
|
+
"description": "Disclaimer copy below the slider.",
|
|
86
|
+
"default": "This calculator provides estimates only and may not reflect actual earnings."
|
|
87
|
+
},
|
|
88
|
+
"disclaimerIconAlt": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"required": false,
|
|
91
|
+
"description": "Alt text for the disclaimer icon. Empty = decorative",
|
|
92
|
+
"default": ""
|
|
93
|
+
},
|
|
94
|
+
"disclaimerIconSrc": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"required": false,
|
|
97
|
+
"description": "Info icon beside the disclaimer. A fixed hosted brand asset.",
|
|
98
|
+
"default": "https://cdn.prod.website-files.com/68da5c86c91c54f39c86c28a/68da5c86c91c54f39c86cdaf_icon.svg"
|
|
99
|
+
},
|
|
100
|
+
"incomeLabel": {
|
|
101
|
+
"type": "string",
|
|
102
|
+
"required": false,
|
|
103
|
+
"description": "Label shown under the income figure.",
|
|
104
|
+
"default": "your potential income per month"
|
|
105
|
+
},
|
|
106
|
+
"incomePerReferral": {
|
|
107
|
+
"type": "number",
|
|
108
|
+
"required": false,
|
|
109
|
+
"description": "Amount earned per referral — multiplied by the slider value for the income display.",
|
|
110
|
+
"default": 100
|
|
111
|
+
},
|
|
112
|
+
"max": {
|
|
113
|
+
"type": "number",
|
|
114
|
+
"required": false,
|
|
115
|
+
"description": "Maximum slider value.",
|
|
116
|
+
"default": 50
|
|
117
|
+
},
|
|
118
|
+
"min": {
|
|
119
|
+
"type": "number",
|
|
120
|
+
"required": false,
|
|
121
|
+
"description": "Minimum slider value.",
|
|
122
|
+
"default": 10
|
|
123
|
+
},
|
|
124
|
+
"onValueChange": {
|
|
125
|
+
"type": "((value: number) => void)",
|
|
126
|
+
"required": false,
|
|
127
|
+
"description": "Called when the slider value changes"
|
|
128
|
+
},
|
|
129
|
+
"referralsLabel": {
|
|
130
|
+
"type": "string",
|
|
131
|
+
"required": false,
|
|
132
|
+
"description": "Label shown under the referrals count.",
|
|
133
|
+
"default": "total referrals (Min deposit amount of $100 each)"
|
|
134
|
+
},
|
|
135
|
+
"sliderLabel": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"required": false,
|
|
138
|
+
"description": "Accessible label for the referrals slider",
|
|
139
|
+
"default": "Number of referrals"
|
|
140
|
+
},
|
|
141
|
+
"step": {
|
|
142
|
+
"type": "number",
|
|
143
|
+
"required": false,
|
|
144
|
+
"description": "Slider step.",
|
|
145
|
+
"default": 1
|
|
146
|
+
},
|
|
147
|
+
"tickValues": {
|
|
148
|
+
"type": "number[]",
|
|
149
|
+
"required": false,
|
|
150
|
+
"description": "Tick labels rendered under the track. Defaults to five evenly spaced values from `min` to `max`."
|
|
151
|
+
},
|
|
152
|
+
"title": {
|
|
153
|
+
"type": "string",
|
|
154
|
+
"required": false,
|
|
155
|
+
"description": "Section heading",
|
|
156
|
+
"default": "Section title goes here"
|
|
157
|
+
},
|
|
158
|
+
"value": {
|
|
159
|
+
"type": "number",
|
|
160
|
+
"required": false,
|
|
161
|
+
"description": "Controlled slider value"
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
},
|
|
60
165
|
"ArticleHero": {
|
|
61
166
|
"name": "ArticleHero",
|
|
62
167
|
"source": "templates/ArticleHero/ArticleHero.tsx",
|
|
@@ -806,6 +911,35 @@
|
|
|
806
911
|
}
|
|
807
912
|
}
|
|
808
913
|
},
|
|
914
|
+
"CountryLinkGrid": {
|
|
915
|
+
"name": "CountryLinkGrid",
|
|
916
|
+
"source": "templates/CountryLinkGrid/CountryLinkGrid.tsx",
|
|
917
|
+
"props": {
|
|
918
|
+
"description": {
|
|
919
|
+
"type": "string",
|
|
920
|
+
"required": false,
|
|
921
|
+
"description": "Intro paragraph rendered under the heading",
|
|
922
|
+
"default": "Explain how this specific feature helps your user."
|
|
923
|
+
},
|
|
924
|
+
"headingLevel": {
|
|
925
|
+
"type": "CountryLinkGridHeadingLevel",
|
|
926
|
+
"required": false,
|
|
927
|
+
"description": "Heading tag to render. This block usually sits under a page title and beside other regulatory sections, so a lower level is often correct.",
|
|
928
|
+
"default": "h2"
|
|
929
|
+
},
|
|
930
|
+
"items": {
|
|
931
|
+
"type": "CountryLinkGridItem[]",
|
|
932
|
+
"required": false,
|
|
933
|
+
"description": "Countries rendered in the grid. Each is a flag icon plus a country name linking to that country's document."
|
|
934
|
+
},
|
|
935
|
+
"title": {
|
|
936
|
+
"type": "string",
|
|
937
|
+
"required": false,
|
|
938
|
+
"description": "Section heading, e.g. the entity whose passporting list this is",
|
|
939
|
+
"default": "Section title goes here"
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
},
|
|
809
943
|
"DayNightTransition": {
|
|
810
944
|
"name": "DayNightTransition",
|
|
811
945
|
"source": "templates/DayNightTransition/DayNightTransition.tsx",
|
|
@@ -887,6 +1021,63 @@
|
|
|
887
1021
|
}
|
|
888
1022
|
}
|
|
889
1023
|
},
|
|
1024
|
+
"DocumentChips": {
|
|
1025
|
+
"name": "DocumentChips",
|
|
1026
|
+
"source": "templates/DocumentChips/DocumentChips.tsx",
|
|
1027
|
+
"props": {
|
|
1028
|
+
"allowMultipleOpen": {
|
|
1029
|
+
"type": "boolean",
|
|
1030
|
+
"required": false,
|
|
1031
|
+
"description": "Allow more than one group open at a time. Off by default, matching the reference block, which opens the first group and one group at a time.",
|
|
1032
|
+
"default": false
|
|
1033
|
+
},
|
|
1034
|
+
"description": {
|
|
1035
|
+
"type": "string",
|
|
1036
|
+
"required": false,
|
|
1037
|
+
"description": "Optional intro paragraph rendered under the heading"
|
|
1038
|
+
},
|
|
1039
|
+
"groups": {
|
|
1040
|
+
"type": "DocumentChipsGroup[]",
|
|
1041
|
+
"required": false,
|
|
1042
|
+
"description": "Expandable groups, each holding a set of document chips"
|
|
1043
|
+
},
|
|
1044
|
+
"headingLevel": {
|
|
1045
|
+
"type": "DocumentChipsHeadingLevel",
|
|
1046
|
+
"required": false,
|
|
1047
|
+
"description": "Heading tag to render. Demote when the page already owns the heading hierarchy above this section.",
|
|
1048
|
+
"default": "h2"
|
|
1049
|
+
},
|
|
1050
|
+
"iconAlt": {
|
|
1051
|
+
"type": "string",
|
|
1052
|
+
"required": false,
|
|
1053
|
+
"description": "Alt text for the file mark. Empty by default: the mark is decorative next to the document title it sits beside.",
|
|
1054
|
+
"default": ""
|
|
1055
|
+
},
|
|
1056
|
+
"iconSrc": {
|
|
1057
|
+
"type": "string",
|
|
1058
|
+
"required": false,
|
|
1059
|
+
"description": "Default file mark rendered at the start of every chip, as an `<img>`. This is a fixed brand asset, not a themeable icon — override it only to point at a different hosted mark.",
|
|
1060
|
+
"default": "https://media.ffycdn.net/eu/deriv/d/8d33a322464c4809a9d01119104caa0d"
|
|
1061
|
+
},
|
|
1062
|
+
"onLanguageSelect": {
|
|
1063
|
+
"type": "((document: DocumentChipsDocument, event: MouseEvent<HTMLAnchorElement, MouseEvent>) => void)",
|
|
1064
|
+
"required": false,
|
|
1065
|
+
"description": "Called when a chip's language link is activated. When supplied, the link's default navigation is prevented — wire this to `LanguageSelectModal`. When omitted the link navigates normally."
|
|
1066
|
+
},
|
|
1067
|
+
"title": {
|
|
1068
|
+
"type": "string",
|
|
1069
|
+
"required": false,
|
|
1070
|
+
"description": "Section heading rendered above the groups. Pass `\"\"` to drop it",
|
|
1071
|
+
"default": "Section title goes here"
|
|
1072
|
+
},
|
|
1073
|
+
"variant": {
|
|
1074
|
+
"type": "DocumentChipsVariant",
|
|
1075
|
+
"required": false,
|
|
1076
|
+
"description": "`accordion` — expandable groups (default). `flat` — a single chip list with no accordion chrome.",
|
|
1077
|
+
"default": "accordion"
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
},
|
|
890
1081
|
"DotLottieInView": {
|
|
891
1082
|
"name": "DotLottieInView",
|
|
892
1083
|
"source": "components/DotLottieInView/DotLottieInView.tsx",
|
|
@@ -1063,6 +1254,40 @@
|
|
|
1063
1254
|
}
|
|
1064
1255
|
}
|
|
1065
1256
|
},
|
|
1257
|
+
"EntityInfoSection": {
|
|
1258
|
+
"name": "EntityInfoSection",
|
|
1259
|
+
"source": "templates/EntityInfoSection/EntityInfoSection.tsx",
|
|
1260
|
+
"props": {
|
|
1261
|
+
"bullets": {
|
|
1262
|
+
"type": "string[]",
|
|
1263
|
+
"required": false,
|
|
1264
|
+
"description": "Optional bulleted list rendered below the paragraph — used by entities that enumerate their regulated activities."
|
|
1265
|
+
},
|
|
1266
|
+
"description": {
|
|
1267
|
+
"type": "string",
|
|
1268
|
+
"required": false,
|
|
1269
|
+
"description": "Registration / licensing paragraph",
|
|
1270
|
+
"default": "Explain how this specific feature helps your user."
|
|
1271
|
+
},
|
|
1272
|
+
"headingLevel": {
|
|
1273
|
+
"type": "EntityInfoSectionHeadingLevel",
|
|
1274
|
+
"required": false,
|
|
1275
|
+
"description": "Heading tag to render. These blocks repeat down a page under a single page title, so a lower level is often correct.",
|
|
1276
|
+
"default": "h2"
|
|
1277
|
+
},
|
|
1278
|
+
"links": {
|
|
1279
|
+
"type": "EntityInfoSectionLink[]",
|
|
1280
|
+
"required": false,
|
|
1281
|
+
"description": "Coral arrow links rendered below the copy, e.g. \"View licence\". Laid out in a row that wraps, matching the reference section."
|
|
1282
|
+
},
|
|
1283
|
+
"name": {
|
|
1284
|
+
"type": "string",
|
|
1285
|
+
"required": false,
|
|
1286
|
+
"description": "Legal entity name, e.g. \"Deriv (FX) Ltd\"",
|
|
1287
|
+
"default": "Section title goes here"
|
|
1288
|
+
}
|
|
1289
|
+
}
|
|
1290
|
+
},
|
|
1066
1291
|
"FaqAccordion": {
|
|
1067
1292
|
"name": "FaqAccordion",
|
|
1068
1293
|
"source": "templates/FaqAccordion/FaqAccordion.tsx",
|
|
@@ -2431,6 +2656,49 @@
|
|
|
2431
2656
|
}
|
|
2432
2657
|
}
|
|
2433
2658
|
},
|
|
2659
|
+
"LanguageSelectModal": {
|
|
2660
|
+
"name": "LanguageSelectModal",
|
|
2661
|
+
"source": "templates/LanguageSelectModal/LanguageSelectModal.tsx",
|
|
2662
|
+
"props": {
|
|
2663
|
+
"closeLabel": {
|
|
2664
|
+
"type": "string",
|
|
2665
|
+
"required": false,
|
|
2666
|
+
"description": "Accessible label for the close button",
|
|
2667
|
+
"default": "Close"
|
|
2668
|
+
},
|
|
2669
|
+
"container": {
|
|
2670
|
+
"type": "HTMLElement | null",
|
|
2671
|
+
"required": false,
|
|
2672
|
+
"description": "Element the dialog is portalled into. Defaults to `document.body`. Pass a node when the app renders inside a shadow root or a modal host."
|
|
2673
|
+
},
|
|
2674
|
+
"headingLevel": {
|
|
2675
|
+
"type": "\"h2\" | \"h3\"",
|
|
2676
|
+
"required": false,
|
|
2677
|
+
"description": "Heading tag for the title. The dialog is a top-level surface, so `h2` is usually right regardless of the page's own hierarchy.",
|
|
2678
|
+
"default": "h2"
|
|
2679
|
+
},
|
|
2680
|
+
"onClose": {
|
|
2681
|
+
"type": "() => void",
|
|
2682
|
+
"required": true,
|
|
2683
|
+
"description": "Called when the user dismisses the dialog — close button, Escape key, or a click on the scrim. The consumer owns the open state."
|
|
2684
|
+
},
|
|
2685
|
+
"open": {
|
|
2686
|
+
"type": "boolean",
|
|
2687
|
+
"required": true,
|
|
2688
|
+
"description": "Whether the dialog is rendered. Nothing mounts while false"
|
|
2689
|
+
},
|
|
2690
|
+
"options": {
|
|
2691
|
+
"type": "LanguageSelectModalOption[]",
|
|
2692
|
+
"required": false
|
|
2693
|
+
},
|
|
2694
|
+
"title": {
|
|
2695
|
+
"type": "string",
|
|
2696
|
+
"required": false,
|
|
2697
|
+
"description": "Dialog title, rendered centred and used as the dialog's accessible name",
|
|
2698
|
+
"default": "Select your language"
|
|
2699
|
+
}
|
|
2700
|
+
}
|
|
2701
|
+
},
|
|
2434
2702
|
"Link": {
|
|
2435
2703
|
"name": "Link",
|
|
2436
2704
|
"source": "components/Link/Link.tsx",
|
|
@@ -2471,6 +2739,50 @@
|
|
|
2471
2739
|
}
|
|
2472
2740
|
}
|
|
2473
2741
|
},
|
|
2742
|
+
"LinkModal": {
|
|
2743
|
+
"name": "LinkModal",
|
|
2744
|
+
"source": "components/LinkModal/LinkModal.tsx",
|
|
2745
|
+
"props": {
|
|
2746
|
+
"children": {
|
|
2747
|
+
"type": "ReactNode",
|
|
2748
|
+
"required": false,
|
|
2749
|
+
"description": "Dialog body — any content the consumer supplies"
|
|
2750
|
+
},
|
|
2751
|
+
"closeLabel": {
|
|
2752
|
+
"type": "string",
|
|
2753
|
+
"required": false,
|
|
2754
|
+
"description": "Accessible label for the close button",
|
|
2755
|
+
"default": "Close"
|
|
2756
|
+
},
|
|
2757
|
+
"container": {
|
|
2758
|
+
"type": "HTMLElement | null",
|
|
2759
|
+
"required": false,
|
|
2760
|
+
"description": "Element the dialog is portalled into. Defaults to `document.body`. Pass a node when the app renders inside a shadow root or a modal host."
|
|
2761
|
+
},
|
|
2762
|
+
"headingLevel": {
|
|
2763
|
+
"type": "\"h2\" | \"h3\"",
|
|
2764
|
+
"required": false,
|
|
2765
|
+
"description": "Heading tag for the title. The dialog is a top-level surface, so `h2` is usually right regardless of the page's own hierarchy.",
|
|
2766
|
+
"default": "h2"
|
|
2767
|
+
},
|
|
2768
|
+
"onClose": {
|
|
2769
|
+
"type": "() => void",
|
|
2770
|
+
"required": true,
|
|
2771
|
+
"description": "Called when the user dismisses the dialog — close button, Escape key, or a click on the scrim. The consumer owns the open state."
|
|
2772
|
+
},
|
|
2773
|
+
"open": {
|
|
2774
|
+
"type": "boolean",
|
|
2775
|
+
"required": true,
|
|
2776
|
+
"description": "Whether the dialog is rendered. Nothing mounts while false"
|
|
2777
|
+
},
|
|
2778
|
+
"title": {
|
|
2779
|
+
"type": "string",
|
|
2780
|
+
"required": false,
|
|
2781
|
+
"description": "Dialog title, rendered centred and used as the dialog's accessible name",
|
|
2782
|
+
"default": "Dialog title"
|
|
2783
|
+
}
|
|
2784
|
+
}
|
|
2785
|
+
},
|
|
2474
2786
|
"LogoMarquee": {
|
|
2475
2787
|
"name": "LogoMarquee",
|
|
2476
2788
|
"source": "templates/LogoMarquee/LogoMarquee.tsx",
|
|
@@ -2668,6 +2980,68 @@
|
|
|
2668
2980
|
}
|
|
2669
2981
|
}
|
|
2670
2982
|
},
|
|
2983
|
+
"OptionsTypes": {
|
|
2984
|
+
"name": "OptionsTypes",
|
|
2985
|
+
"source": "templates/OptionsTypes/OptionsTypes.tsx",
|
|
2986
|
+
"props": {
|
|
2987
|
+
"activeId": {
|
|
2988
|
+
"type": "string",
|
|
2989
|
+
"required": false,
|
|
2990
|
+
"description": "Selected item for controlled tab usage."
|
|
2991
|
+
},
|
|
2992
|
+
"defaultActiveId": {
|
|
2993
|
+
"type": "string",
|
|
2994
|
+
"required": false,
|
|
2995
|
+
"description": "Initially selected item for uncontrolled tab usage."
|
|
2996
|
+
},
|
|
2997
|
+
"disclaimer": {
|
|
2998
|
+
"type": "string",
|
|
2999
|
+
"required": false,
|
|
3000
|
+
"description": "Optional small-print note below the block."
|
|
3001
|
+
},
|
|
3002
|
+
"heading": {
|
|
3003
|
+
"type": "string",
|
|
3004
|
+
"required": false,
|
|
3005
|
+
"description": "Section heading.",
|
|
3006
|
+
"default": "Section title goes here"
|
|
3007
|
+
},
|
|
3008
|
+
"headingLevel": {
|
|
3009
|
+
"type": "\"h2\" | \"h3\" | \"h4\"",
|
|
3010
|
+
"required": false,
|
|
3011
|
+
"description": "Heading element used for the section title.",
|
|
3012
|
+
"default": "h2"
|
|
3013
|
+
},
|
|
3014
|
+
"items": {
|
|
3015
|
+
"type": "OptionsTypesItem[]",
|
|
3016
|
+
"required": false,
|
|
3017
|
+
"description": "Ordered option-type content.",
|
|
3018
|
+
"defaultExpression": "OPTIONS_TYPES_PLACEHOLDER_ITEMS"
|
|
3019
|
+
},
|
|
3020
|
+
"marketsLabel": {
|
|
3021
|
+
"type": "string",
|
|
3022
|
+
"required": false,
|
|
3023
|
+
"description": "Label above the market list.",
|
|
3024
|
+
"default": "Markets available"
|
|
3025
|
+
},
|
|
3026
|
+
"onChange": {
|
|
3027
|
+
"type": "((id: string) => void)",
|
|
3028
|
+
"required": false,
|
|
3029
|
+
"description": "Optional selection callback."
|
|
3030
|
+
},
|
|
3031
|
+
"platformsLabel": {
|
|
3032
|
+
"type": "string",
|
|
3033
|
+
"required": false,
|
|
3034
|
+
"description": "Label above the platform list.",
|
|
3035
|
+
"default": "Trade on"
|
|
3036
|
+
},
|
|
3037
|
+
"variant": {
|
|
3038
|
+
"type": "OptionsTypesVariant",
|
|
3039
|
+
"required": false,
|
|
3040
|
+
"description": "`tabs` shows a selectable list of option types. `single` shows one option in a media/content split.",
|
|
3041
|
+
"default": "tabs"
|
|
3042
|
+
}
|
|
3043
|
+
}
|
|
3044
|
+
},
|
|
2671
3045
|
"Pagination": {
|
|
2672
3046
|
"name": "Pagination",
|
|
2673
3047
|
"source": "components/Pagination/Pagination.tsx",
|
|
@@ -3121,6 +3495,11 @@
|
|
|
3121
3495
|
"required": false,
|
|
3122
3496
|
"description": "Optional CSS class name"
|
|
3123
3497
|
},
|
|
3498
|
+
"idPrefix": {
|
|
3499
|
+
"type": "string",
|
|
3500
|
+
"required": false,
|
|
3501
|
+
"description": "Stable prefix used to connect tabs to their tab panels."
|
|
3502
|
+
},
|
|
3124
3503
|
"items": {
|
|
3125
3504
|
"type": "TabItem[]",
|
|
3126
3505
|
"required": true,
|