aural-ui 3.0.7 → 4.0.1
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/dist/components/aspect-ratio/AspectRatio.stories.tsx +271 -242
- package/dist/components/avatar/Avatar.stories.tsx +84 -70
- package/dist/components/button/Button.stories.tsx +7 -7
- package/dist/components/button/index.tsx +7 -7
- package/dist/components/card/Card.stories.tsx +3 -3
- package/dist/components/char-count/CharCount.stories.tsx +9 -9
- package/dist/components/circular-loader/CircularLoader.stories.tsx +109 -93
- package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
- package/dist/components/command/Command.stories.tsx +52 -38
- package/dist/components/dialog/Dialog.stories.tsx +89 -84
- package/dist/components/divider/Divider.stories.tsx +86 -60
- package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
- package/dist/components/drawer/Drawer.stories.tsx +74 -44
- package/dist/components/drawer/index.tsx +3 -3
- package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
- package/dist/components/helper-text/HelperText.stories.tsx +2 -2
- package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
- package/dist/components/input/Input.stories.tsx +2 -2
- package/dist/components/label/Label.stories.tsx +10 -10
- package/dist/components/list/List.stories.tsx +58 -44
- package/dist/components/marquee/Marquee.stories.tsx +131 -113
- package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
- package/dist/components/overlay/Overlay.stories.tsx +98 -92
- package/dist/components/overlay/index.tsx +4 -4
- package/dist/components/popover/Popover.stories.tsx +132 -106
- package/dist/components/radio/Radio.stories.tsx +2 -2
- package/dist/components/resizable/Resizable.stories.tsx +186 -138
- package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
- package/dist/components/search/Search.stories.tsx +81 -59
- package/dist/components/select/Select.stories.tsx +3 -1
- package/dist/components/sheet/Sheet.stories.tsx +68 -54
- package/dist/components/slider/Slider.stories.tsx +71 -47
- package/dist/components/stepper/Stepper.stories.tsx +16 -16
- package/dist/components/switch/Switch.stories.tsx +12 -12
- package/dist/components/table/Table.stories.tsx +8 -6
- package/dist/components/tabs/Tabs.stories.tsx +324 -268
- package/dist/components/textarea/TextArea.stories.tsx +1 -1
- package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
- package/dist/components/toast/Toast.stories.tsx +51 -45
- package/dist/components/toggle/Toggle.stories.tsx +111 -89
- package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
- package/dist/icons/Icons.stories.tsx +2 -2
- package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
- package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
- package/dist/icons/all-icons.tsx +97 -81
- package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
- package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
- package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
- package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
- package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
- package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
- package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
- package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
- package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
- package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
- package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
- package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
- package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
- package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
- package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
- package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
- package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
- package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
- package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
- package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
- package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
- package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
- package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
- package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
- package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
- package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
- package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
- package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
- package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
- package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
- package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
- package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
- package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
- package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
- package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
- package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
- package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
- package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
- package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
- package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
- package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
- package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
- package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
- package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
- package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
- package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
- package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
- package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
- package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
- package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
- package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
- package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
- package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
- package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
- package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
- package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
- package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
- package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
- package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
- package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
- package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
- package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
- package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
- package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
- package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
- package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
- package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
- package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
- package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
- package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
- package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
- package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
- package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
- package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
- package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
- package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
- package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
- package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
- package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
- package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
- package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
- package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
- package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
- package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
- package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
- package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
- package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
- package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
- package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
- package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
- package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
- package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
- package/dist/icons/spinner-solid-icon/index.tsx +6 -1
- package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
- package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
- package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
- package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
- package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
- package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
- package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
- package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
- package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
- package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
- package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
- package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
- package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
- package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
- package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
- package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
- package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
- package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
- package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
- package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
- package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
- package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
- package/dist/index.cjs +84 -84
- package/dist/index.js +84 -84
- package/dist/styles/aural-all-theme.css +1222 -0
- package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
- package/dist/styles/aural-light-theme.css +1047 -0
- package/package.json +1 -1
|
@@ -11,9 +11,9 @@ const meta: Meta<typeof CoinIcon> = {
|
|
|
11
11
|
backgrounds: {
|
|
12
12
|
default: "dark",
|
|
13
13
|
values: [
|
|
14
|
-
{ name: "dark", value: "
|
|
15
|
-
{ name: "darker", value: "
|
|
16
|
-
{ name: "light", value: "
|
|
14
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
15
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
16
|
+
{ name: "light", value: "var(--color-fm-neutral-1100)" },
|
|
17
17
|
],
|
|
18
18
|
},
|
|
19
19
|
docs: {
|
|
@@ -40,57 +40,59 @@ const meta: Meta<typeof CoinIcon> = {
|
|
|
40
40
|
background: transparent ;
|
|
41
41
|
}
|
|
42
42
|
body {
|
|
43
|
-
background:
|
|
43
|
+
background: var(--color-fm-surface-primary) ;
|
|
44
44
|
}
|
|
45
45
|
#storybook-docs {
|
|
46
|
-
background:
|
|
46
|
+
background: var(--color-fm-surface-primary) ;
|
|
47
47
|
}
|
|
48
48
|
.sbdocs-preview {
|
|
49
49
|
background: transparent ;
|
|
50
50
|
border: none ;
|
|
51
51
|
}
|
|
52
52
|
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
53
|
-
color:
|
|
53
|
+
color: var(--color-fm-icon-active) ;
|
|
54
54
|
}
|
|
55
55
|
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color:
|
|
56
|
+
color: var(--color-fm-secondary) ;
|
|
57
57
|
}
|
|
58
58
|
.sbdocs-code {
|
|
59
|
-
background:
|
|
60
|
-
color:
|
|
61
|
-
border: 1px solid
|
|
59
|
+
background: var(--color-fm-surface-secondary) ;
|
|
60
|
+
color: var(--color-fm-secondary-500) ;
|
|
61
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
62
62
|
}
|
|
63
63
|
.sbdocs-pre {
|
|
64
|
-
background:
|
|
65
|
-
border: 1px solid
|
|
64
|
+
background: var(--color-fm-surface-secondary) ;
|
|
65
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
66
66
|
}
|
|
67
67
|
.sbdocs-table {
|
|
68
|
-
background:
|
|
69
|
-
border: 1px solid
|
|
68
|
+
background: var(--color-fm-surface-secondary) ;
|
|
69
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
70
70
|
}
|
|
71
71
|
.sbdocs-table th {
|
|
72
|
-
background:
|
|
73
|
-
color:
|
|
74
|
-
border-bottom: 1px solid
|
|
72
|
+
background: var(--color-fm-surface-secondary) ;
|
|
73
|
+
color: var(--color-fm-icon-active) ;
|
|
74
|
+
border-bottom: 1px solid var(--color-fm-divider-secondary) ;
|
|
75
75
|
}
|
|
76
76
|
.sbdocs-table td {
|
|
77
|
-
color:
|
|
78
|
-
border-bottom: 1px solid
|
|
77
|
+
color: var(--color-fm-secondary) ;
|
|
78
|
+
border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
|
|
79
79
|
}
|
|
80
80
|
`}
|
|
81
81
|
</style>
|
|
82
82
|
|
|
83
|
-
<div className="
|
|
83
|
+
<div className="from-fm-surface-primary via-fm-icon-warning/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
|
|
84
84
|
{/* Header */}
|
|
85
|
-
<div className="relative overflow-hidden border-b
|
|
86
|
-
<div className="absolute inset-0 bg-
|
|
85
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
86
|
+
<div className="from-fm-icon-warning/10 to-fm-icon-warning/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
87
87
|
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
88
88
|
<div className="!space-y-6 text-center">
|
|
89
|
-
<div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border
|
|
89
|
+
<div className="border-fm-icon-warning/30 from-fm-icon-warning/20 to-fm-icon-warning/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
90
90
|
<CoinIcon className="h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
|
-
<h1 className="text-5xl font-bold
|
|
93
|
-
|
|
92
|
+
<h1 className="text-fm-icon-active! text-5xl font-bold">
|
|
93
|
+
CoinIcon
|
|
94
|
+
</h1>
|
|
95
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
94
96
|
A golden coin icon with authentic metallic shine and
|
|
95
97
|
dimensional depth. Perfect for financial applications,
|
|
96
98
|
reward systems, gaming interfaces, e-commerce platforms, and
|
|
@@ -101,28 +103,28 @@ const meta: Meta<typeof CoinIcon> = {
|
|
|
101
103
|
{/* Stats */}
|
|
102
104
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
103
105
|
<div className="text-center">
|
|
104
|
-
<div className="text-3xl font-bold
|
|
106
|
+
<div className="text-fm-icon-warning text-3xl font-bold">
|
|
105
107
|
Currency
|
|
106
108
|
</div>
|
|
107
|
-
<div className="text-
|
|
109
|
+
<div className="text-fm-tertiary text-sm">
|
|
108
110
|
Financial value
|
|
109
111
|
</div>
|
|
110
112
|
</div>
|
|
111
|
-
<div className="h-8 w-px
|
|
113
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
112
114
|
<div className="text-center">
|
|
113
|
-
<div className="text-3xl font-bold
|
|
115
|
+
<div className="text-fm-icon-warning text-3xl font-bold">
|
|
114
116
|
Rewards
|
|
115
117
|
</div>
|
|
116
|
-
<div className="text-
|
|
118
|
+
<div className="text-fm-tertiary text-sm">
|
|
117
119
|
Achievement system
|
|
118
120
|
</div>
|
|
119
121
|
</div>
|
|
120
|
-
<div className="h-8 w-px
|
|
122
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
121
123
|
<div className="text-center">
|
|
122
|
-
<div className="text-3xl font-bold
|
|
124
|
+
<div className="text-fm-icon-warning text-3xl font-bold">
|
|
123
125
|
Premium
|
|
124
126
|
</div>
|
|
125
|
-
<div className="text-
|
|
127
|
+
<div className="text-fm-tertiary text-sm">
|
|
126
128
|
Golden standard
|
|
127
129
|
</div>
|
|
128
130
|
</div>
|
|
@@ -135,16 +137,16 @@ const meta: Meta<typeof CoinIcon> = {
|
|
|
135
137
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
136
138
|
{/* Quick Usage */}
|
|
137
139
|
<div className="!space-y-8">
|
|
138
|
-
<h2 className="text-center text-3xl font-bold
|
|
140
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
139
141
|
Quick Start
|
|
140
142
|
</h2>
|
|
141
143
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
142
144
|
<div className="!space-y-4">
|
|
143
|
-
<h3 className="text-xl font-semibold
|
|
145
|
+
<h3 className="text-fm-icon-warning! text-xl font-semibold">
|
|
144
146
|
Basic Usage
|
|
145
147
|
</h3>
|
|
146
|
-
<div className="rounded-lg
|
|
147
|
-
<pre className="overflow-x-auto text-sm
|
|
148
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
149
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
148
150
|
{`import { CoinIcon } from "@icons/coin-icon"
|
|
149
151
|
|
|
150
152
|
function WalletBalance() {
|
|
@@ -160,13 +162,13 @@ function WalletBalance() {
|
|
|
160
162
|
</div>
|
|
161
163
|
|
|
162
164
|
<div className="!space-y-4">
|
|
163
|
-
<h3 className="text-xl font-semibold
|
|
165
|
+
<h3 className="text-fm-icon-warning! text-xl font-semibold">
|
|
164
166
|
Live Preview
|
|
165
167
|
</h3>
|
|
166
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
167
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
168
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
169
|
+
<div className="border-fm-icon-warning/20 bg-fm-icon-warning/10 flex items-center gap-3 rounded-lg border px-4 py-2">
|
|
168
170
|
<CoinIcon className="h-5 w-5" />
|
|
169
|
-
<span className="font-medium
|
|
171
|
+
<span className="text-fm-icon-warning font-medium">
|
|
170
172
|
1,247 coins
|
|
171
173
|
</span>
|
|
172
174
|
</div>
|
|
@@ -177,104 +179,116 @@ function WalletBalance() {
|
|
|
177
179
|
|
|
178
180
|
{/* Props Documentation */}
|
|
179
181
|
<div className="!space-y-8">
|
|
180
|
-
<h2 className="text-center text-3xl font-bold
|
|
182
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
181
183
|
Props & Configuration
|
|
182
184
|
</h2>
|
|
183
185
|
|
|
184
|
-
<div className="overflow-hidden rounded-lg border
|
|
185
|
-
<div className="bg-
|
|
186
|
-
<h3 className="text-xl font-semibold
|
|
186
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
187
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
188
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
189
|
+
Props
|
|
190
|
+
</h3>
|
|
187
191
|
</div>
|
|
188
192
|
<table className="!my-0 w-full">
|
|
189
|
-
<thead className="bg-
|
|
190
|
-
<tr className="border-
|
|
191
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
193
|
+
<thead className="bg-fm-surface-secondary">
|
|
194
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
195
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
192
196
|
Prop
|
|
193
197
|
</th>
|
|
194
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
198
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
195
199
|
Type
|
|
196
200
|
</th>
|
|
197
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
201
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
198
202
|
Default
|
|
199
203
|
</th>
|
|
200
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
204
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
201
205
|
Description
|
|
202
206
|
</th>
|
|
203
207
|
</tr>
|
|
204
208
|
</thead>
|
|
205
209
|
<tbody>
|
|
206
210
|
{" "}
|
|
207
|
-
<tr className="
|
|
208
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
211
|
+
<tr className="bg-fm-surface-secondary!">
|
|
212
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
209
213
|
withAccessibility
|
|
210
214
|
</td>
|
|
211
|
-
<td className="px-6 py-4 text-sm
|
|
215
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
212
216
|
boolean
|
|
213
217
|
</td>
|
|
214
|
-
<td className="px-6 py-4 text-sm
|
|
218
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
215
219
|
true
|
|
216
220
|
</td>
|
|
217
|
-
<td className="px-6 py-4 text-sm
|
|
221
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
218
222
|
Whether to wrap the icon with accessibility feature
|
|
219
223
|
</td>
|
|
220
224
|
</tr>
|
|
221
|
-
<tr className="border-
|
|
222
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
225
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
226
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
223
227
|
height
|
|
224
228
|
</td>
|
|
225
|
-
<td className="px-6 py-4 text-sm
|
|
229
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
226
230
|
number | string
|
|
227
231
|
</td>
|
|
228
|
-
<td className="px-6 py-4 text-sm
|
|
229
|
-
|
|
232
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
233
|
+
24
|
|
234
|
+
</td>
|
|
235
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
230
236
|
Height of the icon in pixels
|
|
231
237
|
</td>
|
|
232
238
|
</tr>
|
|
233
|
-
<tr className="border-
|
|
234
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
239
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
240
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
235
241
|
className
|
|
236
242
|
</td>
|
|
237
|
-
<td className="px-6 py-4 text-sm
|
|
243
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
238
244
|
string
|
|
239
245
|
</td>
|
|
240
|
-
<td className="px-6 py-4 text-sm
|
|
241
|
-
|
|
246
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
247
|
+
-
|
|
248
|
+
</td>
|
|
249
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
242
250
|
CSS classes for styling (use for size overrides)
|
|
243
251
|
</td>
|
|
244
252
|
</tr>
|
|
245
|
-
<tr className="border-
|
|
246
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
253
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
254
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
247
255
|
style
|
|
248
256
|
</td>
|
|
249
|
-
<td className="px-6 py-4 text-sm
|
|
257
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
250
258
|
CSSProperties
|
|
251
259
|
</td>
|
|
252
|
-
<td className="px-6 py-4 text-sm
|
|
253
|
-
|
|
260
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
261
|
+
-
|
|
262
|
+
</td>
|
|
263
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
254
264
|
Inline styles (avoid changing fill colors)
|
|
255
265
|
</td>
|
|
256
266
|
</tr>
|
|
257
|
-
<tr className="border-
|
|
258
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
267
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
268
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
259
269
|
onClick
|
|
260
270
|
</td>
|
|
261
|
-
<td className="px-6 py-4 text-sm
|
|
271
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
262
272
|
function
|
|
263
273
|
</td>
|
|
264
|
-
<td className="px-6 py-4 text-sm
|
|
265
|
-
|
|
274
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
275
|
+
-
|
|
276
|
+
</td>
|
|
277
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
266
278
|
Click handler for interactive use
|
|
267
279
|
</td>
|
|
268
280
|
</tr>
|
|
269
|
-
<tr className="
|
|
270
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
281
|
+
<tr className="bg-fm-surface-secondary!">
|
|
282
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
271
283
|
...svgProps
|
|
272
284
|
</td>
|
|
273
|
-
<td className="px-6 py-4 text-sm
|
|
285
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
274
286
|
SVGProps
|
|
275
287
|
</td>
|
|
276
|
-
<td className="px-6 py-4 text-sm
|
|
277
|
-
|
|
288
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
289
|
+
-
|
|
290
|
+
</td>
|
|
291
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
278
292
|
All standard SVG element props
|
|
279
293
|
</td>
|
|
280
294
|
</tr>
|
|
@@ -282,8 +296,8 @@ function WalletBalance() {
|
|
|
282
296
|
</table>
|
|
283
297
|
</div>
|
|
284
298
|
|
|
285
|
-
<div className="
|
|
286
|
-
<div className="flex items-center gap-2 text-sm
|
|
299
|
+
<div className="border-fm-icon-warning/20 bg-fm-icon-warning/10 rounded-lg border p-4">
|
|
300
|
+
<div className="text-fm-icon-warning flex items-center gap-2 text-sm">
|
|
287
301
|
<CoinIcon className="h-4 w-4" />
|
|
288
302
|
<span>
|
|
289
303
|
<strong>Note:</strong> CoinIcon uses predefined fill
|
|
@@ -296,50 +310,62 @@ function WalletBalance() {
|
|
|
296
310
|
|
|
297
311
|
{/* Size Variations */}
|
|
298
312
|
<div className="!space-y-8">
|
|
299
|
-
<h2 className="text-center text-3xl font-bold
|
|
313
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
300
314
|
Size Variations
|
|
301
315
|
</h2>
|
|
302
|
-
<div className="rounded-lg border
|
|
316
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
303
317
|
<div className="!space-y-6">
|
|
304
318
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
305
319
|
<div className="!space-y-4">
|
|
306
|
-
<h3 className="text-lg font-semibold
|
|
320
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
307
321
|
Standard Sizes
|
|
308
322
|
</h3>
|
|
309
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
323
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
310
324
|
<div className="text-center">
|
|
311
325
|
<CoinIcon className="!mx-auto mb-2 h-3 w-3" />
|
|
312
|
-
<span className="text-
|
|
326
|
+
<span className="text-fm-tertiary text-xs">
|
|
327
|
+
12px
|
|
328
|
+
</span>
|
|
313
329
|
</div>
|
|
314
330
|
<div className="text-center">
|
|
315
331
|
<CoinIcon className="!mx-auto mb-2 h-4 w-4" />
|
|
316
|
-
<span className="text-
|
|
332
|
+
<span className="text-fm-tertiary text-xs">
|
|
333
|
+
16px
|
|
334
|
+
</span>
|
|
317
335
|
</div>
|
|
318
336
|
<div className="text-center">
|
|
319
337
|
<CoinIcon className="!mx-auto mb-2 h-5 w-5" />
|
|
320
|
-
<span className="text-
|
|
338
|
+
<span className="text-fm-tertiary text-xs">
|
|
339
|
+
20px
|
|
340
|
+
</span>
|
|
321
341
|
</div>
|
|
322
342
|
<div className="text-center">
|
|
323
343
|
<CoinIcon className="!mx-auto mb-2 h-6 w-6" />
|
|
324
|
-
<span className="text-
|
|
344
|
+
<span className="text-fm-tertiary text-xs">
|
|
345
|
+
24px
|
|
346
|
+
</span>
|
|
325
347
|
</div>
|
|
326
348
|
<div className="text-center">
|
|
327
349
|
<CoinIcon className="!mx-auto mb-2 h-8 w-8" />
|
|
328
|
-
<span className="text-
|
|
350
|
+
<span className="text-fm-tertiary text-xs">
|
|
351
|
+
32px
|
|
352
|
+
</span>
|
|
329
353
|
</div>
|
|
330
354
|
<div className="text-center">
|
|
331
355
|
<CoinIcon className="!mx-auto mb-2 h-12 w-12" />
|
|
332
|
-
<span className="text-
|
|
356
|
+
<span className="text-fm-tertiary text-xs">
|
|
357
|
+
48px
|
|
358
|
+
</span>
|
|
333
359
|
</div>
|
|
334
360
|
</div>
|
|
335
361
|
</div>
|
|
336
362
|
|
|
337
363
|
<div className="!space-y-4">
|
|
338
|
-
<h3 className="text-lg font-semibold
|
|
364
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
339
365
|
Code Example
|
|
340
366
|
</h3>
|
|
341
|
-
<div className="rounded-lg
|
|
342
|
-
<pre className="overflow-x-auto text-sm
|
|
367
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
368
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
343
369
|
{`// Small (16px) - inline currency
|
|
344
370
|
<CoinIcon className="h-4 w-4" />
|
|
345
371
|
|
|
@@ -361,50 +387,50 @@ function WalletBalance() {
|
|
|
361
387
|
|
|
362
388
|
{/* Color & Design */}
|
|
363
389
|
<div className="!space-y-8">
|
|
364
|
-
<h2 className="text-center text-3xl font-bold
|
|
390
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
365
391
|
Design & Styling
|
|
366
392
|
</h2>
|
|
367
393
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
368
394
|
<div className="!space-y-4">
|
|
369
|
-
<h3 className="text-lg font-semibold
|
|
395
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
370
396
|
Built-in Golden Design
|
|
371
397
|
</h3>
|
|
372
|
-
<div className="!space-y-4 rounded-lg border
|
|
398
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
373
399
|
<div className="flex items-center gap-4">
|
|
374
|
-
<div className="flex h-12 w-12 items-center justify-center rounded-lg
|
|
400
|
+
<div className="bg-fm-surface-secondary flex h-12 w-12 items-center justify-center rounded-lg">
|
|
375
401
|
<CoinIcon className="h-8 w-8" />
|
|
376
402
|
</div>
|
|
377
403
|
<div>
|
|
378
|
-
<div className="text-sm font-medium
|
|
404
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
379
405
|
Authentic Golden Color
|
|
380
406
|
</div>
|
|
381
|
-
<div className="text-
|
|
407
|
+
<div className="text-fm-tertiary text-xs">
|
|
382
408
|
#FFB340 base with shine overlay
|
|
383
409
|
</div>
|
|
384
410
|
</div>
|
|
385
411
|
</div>
|
|
386
412
|
<div className="flex items-center gap-4">
|
|
387
|
-
<div className="flex h-12 w-12 items-center justify-center rounded-lg
|
|
413
|
+
<div className="bg-fm-surface-secondary flex h-12 w-12 items-center justify-center rounded-lg">
|
|
388
414
|
<CoinIcon className="h-8 w-8" />
|
|
389
415
|
</div>
|
|
390
416
|
<div>
|
|
391
|
-
<div className="text-sm font-medium
|
|
417
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
392
418
|
Dimensional Shine
|
|
393
419
|
</div>
|
|
394
|
-
<div className="text-
|
|
420
|
+
<div className="text-fm-tertiary text-xs">
|
|
395
421
|
#FFF5C6 highlight for depth
|
|
396
422
|
</div>
|
|
397
423
|
</div>
|
|
398
424
|
</div>
|
|
399
425
|
<div className="flex items-center gap-4">
|
|
400
|
-
<div className="flex h-12 w-12 items-center justify-center rounded-lg
|
|
426
|
+
<div className="bg-fm-icon-warning/10 flex h-12 w-12 items-center justify-center rounded-lg">
|
|
401
427
|
<CoinIcon className="h-8 w-8" />
|
|
402
428
|
</div>
|
|
403
429
|
<div>
|
|
404
|
-
<div className="text-sm font-medium
|
|
430
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
405
431
|
Currency Symbol
|
|
406
432
|
</div>
|
|
407
|
-
<div className="text-
|
|
433
|
+
<div className="text-fm-tertiary text-xs">
|
|
408
434
|
#FFFAE8 detail for recognition
|
|
409
435
|
</div>
|
|
410
436
|
</div>
|
|
@@ -413,11 +439,11 @@ function WalletBalance() {
|
|
|
413
439
|
</div>
|
|
414
440
|
|
|
415
441
|
<div className="!space-y-4">
|
|
416
|
-
<h3 className="text-lg font-semibold
|
|
442
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
417
443
|
Usage Guidelines
|
|
418
444
|
</h3>
|
|
419
|
-
<div className="rounded-lg
|
|
420
|
-
<pre className="overflow-x-auto text-sm
|
|
445
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
446
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
421
447
|
{`// Recommended usage
|
|
422
448
|
<CoinIcon className="h-5 w-5" />
|
|
423
449
|
|
|
@@ -450,32 +476,32 @@ function WalletBalance() {
|
|
|
450
476
|
|
|
451
477
|
{/* Usage Examples */}
|
|
452
478
|
<div className="!space-y-8">
|
|
453
|
-
<h2 className="text-center text-3xl font-bold
|
|
479
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
454
480
|
Usage Examples
|
|
455
481
|
</h2>
|
|
456
482
|
|
|
457
483
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
458
484
|
{/* Wallet Interface */}
|
|
459
485
|
<div className="!space-y-4">
|
|
460
|
-
<h3 className="text-lg font-semibold
|
|
486
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
461
487
|
Digital Wallet
|
|
462
488
|
</h3>
|
|
463
489
|
<div className="!space-y-4">
|
|
464
|
-
<div className="rounded-lg border
|
|
465
|
-
<div className="overflow-hidden rounded-lg border
|
|
466
|
-
<div className="border-
|
|
490
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
491
|
+
<div className="border-fm-divider-primary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
492
|
+
<div className="border-fm-divider-secondary from-fm-icon-warning/20 to-fm-icon-warning/20 border-b bg-linear-to-r p-4">
|
|
467
493
|
<div className="flex items-center justify-between">
|
|
468
494
|
<div>
|
|
469
|
-
<h4 className="text-lg font-semibold
|
|
495
|
+
<h4 className="text-fm-icon-active text-lg font-semibold">
|
|
470
496
|
My Wallet
|
|
471
497
|
</h4>
|
|
472
|
-
<p className="text-
|
|
498
|
+
<p className="text-fm-tertiary text-sm">
|
|
473
499
|
Digital currency balance
|
|
474
500
|
</p>
|
|
475
501
|
</div>
|
|
476
502
|
<div className="flex items-center gap-2">
|
|
477
503
|
<CoinIcon className="h-6 w-6" />
|
|
478
|
-
<span className="text-xl font-bold
|
|
504
|
+
<span className="text-fm-icon-warning text-xl font-bold">
|
|
479
505
|
2,847
|
|
480
506
|
</span>
|
|
481
507
|
</div>
|
|
@@ -484,69 +510,69 @@ function WalletBalance() {
|
|
|
484
510
|
<div className="space-y-4 p-4">
|
|
485
511
|
<div className="flex items-center justify-between">
|
|
486
512
|
<div className="flex items-center gap-3">
|
|
487
|
-
<div className="flex h-8 w-8 items-center justify-center rounded-lg
|
|
488
|
-
<span className="text-
|
|
513
|
+
<div className="bg-fm-icon-positive/20 flex h-8 w-8 items-center justify-center rounded-lg">
|
|
514
|
+
<span className="text-fm-icon-positive text-sm">
|
|
489
515
|
+
|
|
490
516
|
</span>
|
|
491
517
|
</div>
|
|
492
518
|
<div>
|
|
493
|
-
<div className="text-sm font-medium
|
|
519
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
494
520
|
Daily Bonus
|
|
495
521
|
</div>
|
|
496
|
-
<div className="text-
|
|
522
|
+
<div className="text-fm-tertiary text-xs">
|
|
497
523
|
Earned today
|
|
498
524
|
</div>
|
|
499
525
|
</div>
|
|
500
526
|
</div>
|
|
501
527
|
<div className="flex items-center gap-1">
|
|
502
528
|
<CoinIcon className="h-4 w-4" />
|
|
503
|
-
<span className="font-medium
|
|
529
|
+
<span className="text-fm-icon-positive font-medium">
|
|
504
530
|
+50
|
|
505
531
|
</span>
|
|
506
532
|
</div>
|
|
507
533
|
</div>
|
|
508
534
|
<div className="flex items-center justify-between">
|
|
509
535
|
<div className="flex items-center gap-3">
|
|
510
|
-
<div className="flex h-8 w-8 items-center justify-center rounded-lg
|
|
511
|
-
<span className="text-
|
|
536
|
+
<div className="bg-fm-icon-info/20 flex h-8 w-8 items-center justify-center rounded-lg">
|
|
537
|
+
<span className="text-fm-icon-info text-sm">
|
|
512
538
|
🎯
|
|
513
539
|
</span>
|
|
514
540
|
</div>
|
|
515
541
|
<div>
|
|
516
|
-
<div className="text-sm font-medium
|
|
542
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
517
543
|
Quest Reward
|
|
518
544
|
</div>
|
|
519
|
-
<div className="text-
|
|
545
|
+
<div className="text-fm-tertiary text-xs">
|
|
520
546
|
Challenge completed
|
|
521
547
|
</div>
|
|
522
548
|
</div>
|
|
523
549
|
</div>
|
|
524
550
|
<div className="flex items-center gap-1">
|
|
525
551
|
<CoinIcon className="h-4 w-4" />
|
|
526
|
-
<span className="font-medium
|
|
552
|
+
<span className="text-fm-icon-info font-medium">
|
|
527
553
|
+125
|
|
528
554
|
</span>
|
|
529
555
|
</div>
|
|
530
556
|
</div>
|
|
531
557
|
<div className="flex items-center justify-between">
|
|
532
558
|
<div className="flex items-center gap-3">
|
|
533
|
-
<div className="flex h-8 w-8 items-center justify-center rounded-lg
|
|
534
|
-
<span className="text-
|
|
559
|
+
<div className="bg-fm-icon-negative/20 flex h-8 w-8 items-center justify-center rounded-lg">
|
|
560
|
+
<span className="text-fm-icon-negative text-sm">
|
|
535
561
|
-
|
|
536
562
|
</span>
|
|
537
563
|
</div>
|
|
538
564
|
<div>
|
|
539
|
-
<div className="text-sm font-medium
|
|
565
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
540
566
|
Store Purchase
|
|
541
567
|
</div>
|
|
542
|
-
<div className="text-
|
|
568
|
+
<div className="text-fm-tertiary text-xs">
|
|
543
569
|
Power-up bought
|
|
544
570
|
</div>
|
|
545
571
|
</div>
|
|
546
572
|
</div>
|
|
547
573
|
<div className="flex items-center gap-1">
|
|
548
574
|
<CoinIcon className="h-4 w-4" />
|
|
549
|
-
<span className="font-medium
|
|
575
|
+
<span className="text-fm-icon-negative font-medium">
|
|
550
576
|
-75
|
|
551
577
|
</span>
|
|
552
578
|
</div>
|
|
@@ -554,8 +580,8 @@ function WalletBalance() {
|
|
|
554
580
|
</div>
|
|
555
581
|
</div>
|
|
556
582
|
</div>
|
|
557
|
-
<div className="rounded-lg
|
|
558
|
-
<pre className="overflow-x-auto text-sm
|
|
583
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
584
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
559
585
|
{`// Digital wallet interface
|
|
560
586
|
<div className="wallet-header">
|
|
561
587
|
<div className="wallet-info">
|
|
@@ -588,98 +614,98 @@ function WalletBalance() {
|
|
|
588
614
|
|
|
589
615
|
{/* Game Store */}
|
|
590
616
|
<div className="!space-y-4">
|
|
591
|
-
<h3 className="text-lg font-semibold
|
|
617
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
592
618
|
Game Store
|
|
593
619
|
</h3>
|
|
594
620
|
<div className="!space-y-4">
|
|
595
|
-
<div className="rounded-lg border
|
|
596
|
-
<div className="overflow-hidden rounded-lg border
|
|
597
|
-
<div className="border-
|
|
621
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
622
|
+
<div className="border-fm-divider-primary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
623
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-b p-4">
|
|
598
624
|
<div className="flex items-center justify-between">
|
|
599
|
-
<h4 className="text-lg font-semibold
|
|
625
|
+
<h4 className="text-fm-icon-active text-lg font-semibold">
|
|
600
626
|
Item Shop
|
|
601
627
|
</h4>
|
|
602
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
628
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/20 flex items-center gap-2 rounded-lg border px-3 py-1">
|
|
603
629
|
<CoinIcon className="h-4 w-4" />
|
|
604
|
-
<span className="font-medium
|
|
630
|
+
<span className="text-fm-icon-warning font-medium">
|
|
605
631
|
2,847
|
|
606
632
|
</span>
|
|
607
633
|
</div>
|
|
608
634
|
</div>
|
|
609
635
|
</div>
|
|
610
636
|
<div className="grid grid-cols-2 gap-3 p-4">
|
|
611
|
-
<div className="rounded-lg border
|
|
612
|
-
<div className="mb-2 flex aspect-square w-full items-center justify-center rounded
|
|
637
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-3">
|
|
638
|
+
<div className="bg-fm-secondary-500/20 mb-2 flex aspect-square w-full items-center justify-center rounded">
|
|
613
639
|
<span className="text-2xl">⚔️</span>
|
|
614
640
|
</div>
|
|
615
|
-
<div className="mb-1 text-sm font-medium
|
|
641
|
+
<div className="text-fm-icon-active mb-1 text-sm font-medium">
|
|
616
642
|
Epic Sword
|
|
617
643
|
</div>
|
|
618
644
|
<div className="flex items-center justify-between">
|
|
619
645
|
<div className="flex items-center gap-1">
|
|
620
646
|
<CoinIcon className="h-3 w-3" />
|
|
621
|
-
<span className="text-
|
|
647
|
+
<span className="text-fm-icon-warning text-xs">
|
|
622
648
|
500
|
|
623
649
|
</span>
|
|
624
650
|
</div>
|
|
625
|
-
<button className="
|
|
651
|
+
<button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 rounded border px-2 py-1 text-xs transition-colors">
|
|
626
652
|
Buy
|
|
627
653
|
</button>
|
|
628
654
|
</div>
|
|
629
655
|
</div>
|
|
630
|
-
<div className="rounded-lg border
|
|
631
|
-
<div className="mb-2 flex aspect-square w-full items-center justify-center rounded
|
|
656
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-3">
|
|
657
|
+
<div className="bg-fm-icon-info/20 mb-2 flex aspect-square w-full items-center justify-center rounded">
|
|
632
658
|
<span className="text-2xl">🛡️</span>
|
|
633
659
|
</div>
|
|
634
|
-
<div className="mb-1 text-sm font-medium
|
|
660
|
+
<div className="text-fm-icon-active mb-1 text-sm font-medium">
|
|
635
661
|
Magic Shield
|
|
636
662
|
</div>
|
|
637
663
|
<div className="flex items-center justify-between">
|
|
638
664
|
<div className="flex items-center gap-1">
|
|
639
665
|
<CoinIcon className="h-3 w-3" />
|
|
640
|
-
<span className="text-
|
|
666
|
+
<span className="text-fm-icon-warning text-xs">
|
|
641
667
|
350
|
|
642
668
|
</span>
|
|
643
669
|
</div>
|
|
644
|
-
<button className="
|
|
670
|
+
<button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 rounded border px-2 py-1 text-xs transition-colors">
|
|
645
671
|
Buy
|
|
646
672
|
</button>
|
|
647
673
|
</div>
|
|
648
674
|
</div>
|
|
649
|
-
<div className="rounded-lg border
|
|
650
|
-
<div className="mb-2 flex aspect-square w-full items-center justify-center rounded
|
|
675
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-3">
|
|
676
|
+
<div className="bg-fm-icon-positive/20 mb-2 flex aspect-square w-full items-center justify-center rounded">
|
|
651
677
|
<span className="text-2xl">🧪</span>
|
|
652
678
|
</div>
|
|
653
|
-
<div className="mb-1 text-sm font-medium
|
|
679
|
+
<div className="text-fm-icon-active mb-1 text-sm font-medium">
|
|
654
680
|
Health Potion
|
|
655
681
|
</div>
|
|
656
682
|
<div className="flex items-center justify-between">
|
|
657
683
|
<div className="flex items-center gap-1">
|
|
658
684
|
<CoinIcon className="h-3 w-3" />
|
|
659
|
-
<span className="text-
|
|
685
|
+
<span className="text-fm-icon-warning text-xs">
|
|
660
686
|
25
|
|
661
687
|
</span>
|
|
662
688
|
</div>
|
|
663
|
-
<button className="
|
|
689
|
+
<button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 rounded border px-2 py-1 text-xs transition-colors">
|
|
664
690
|
Buy
|
|
665
691
|
</button>
|
|
666
692
|
</div>
|
|
667
693
|
</div>
|
|
668
|
-
<div className="rounded-lg border
|
|
669
|
-
<div className="mb-2 flex aspect-square w-full items-center justify-center rounded
|
|
694
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-3">
|
|
695
|
+
<div className="bg-fm-icon-negative/20 mb-2 flex aspect-square w-full items-center justify-center rounded">
|
|
670
696
|
<span className="text-2xl">💎</span>
|
|
671
697
|
</div>
|
|
672
|
-
<div className="mb-1 text-sm font-medium
|
|
698
|
+
<div className="text-fm-icon-active mb-1 text-sm font-medium">
|
|
673
699
|
Rare Gem
|
|
674
700
|
</div>
|
|
675
701
|
<div className="flex items-center justify-between">
|
|
676
702
|
<div className="flex items-center gap-1">
|
|
677
703
|
<CoinIcon className="h-3 w-3" />
|
|
678
|
-
<span className="text-
|
|
704
|
+
<span className="text-fm-icon-warning text-xs">
|
|
679
705
|
1,200
|
|
680
706
|
</span>
|
|
681
707
|
</div>
|
|
682
|
-
<button className="
|
|
708
|
+
<button className="border-fm-icon-negative/30 bg-fm-icon-negative/20 text-fm-icon-negative rounded border px-2 py-1 text-xs">
|
|
683
709
|
Insufficient
|
|
684
710
|
</button>
|
|
685
711
|
</div>
|
|
@@ -687,8 +713,8 @@ function WalletBalance() {
|
|
|
687
713
|
</div>
|
|
688
714
|
</div>
|
|
689
715
|
</div>
|
|
690
|
-
<div className="rounded-lg
|
|
691
|
-
<pre className="overflow-x-auto text-sm
|
|
716
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
717
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
692
718
|
{`// Game store with coin pricing
|
|
693
719
|
<div className="store-header">
|
|
694
720
|
<h3>Item Shop</h3>
|
|
@@ -725,86 +751,86 @@ function WalletBalance() {
|
|
|
725
751
|
|
|
726
752
|
{/* Rewards Dashboard */}
|
|
727
753
|
<div className="!space-y-4">
|
|
728
|
-
<h3 className="text-lg font-semibold
|
|
754
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
729
755
|
Rewards Dashboard
|
|
730
756
|
</h3>
|
|
731
757
|
<div className="!space-y-4">
|
|
732
|
-
<div className="rounded-lg border
|
|
733
|
-
<div className="overflow-hidden rounded-lg border
|
|
734
|
-
<div className="border-
|
|
735
|
-
<h4 className="mb-2 text-lg font-semibold
|
|
758
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
759
|
+
<div className="border-fm-divider-primary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
760
|
+
<div className="border-fm-divider-secondary from-fm-secondary-500/20 to-fm-icon-warning/20 border-b bg-linear-to-r p-4">
|
|
761
|
+
<h4 className="text-fm-icon-active mb-2 text-lg font-semibold">
|
|
736
762
|
Daily Challenges
|
|
737
763
|
</h4>
|
|
738
|
-
<div className="text-
|
|
764
|
+
<div className="text-fm-tertiary text-sm">
|
|
739
765
|
Complete tasks to earn coins
|
|
740
766
|
</div>
|
|
741
767
|
</div>
|
|
742
768
|
<div className="space-y-3 p-4">
|
|
743
|
-
<div className="flex items-center justify-between rounded-lg border
|
|
769
|
+
<div className="border-fm-icon-positive/20 bg-fm-icon-positive/10 flex items-center justify-between rounded-lg border p-3">
|
|
744
770
|
<div className="flex items-center gap-3">
|
|
745
|
-
<div className="flex h-8 w-8 items-center justify-center rounded-lg
|
|
746
|
-
<span className="text-
|
|
771
|
+
<div className="bg-fm-icon-positive/20 flex h-8 w-8 items-center justify-center rounded-lg">
|
|
772
|
+
<span className="text-fm-icon-positive text-sm">
|
|
747
773
|
✓
|
|
748
774
|
</span>
|
|
749
775
|
</div>
|
|
750
776
|
<div>
|
|
751
|
-
<div className="text-sm font-medium
|
|
777
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
752
778
|
Login Streak
|
|
753
779
|
</div>
|
|
754
|
-
<div className="text-
|
|
780
|
+
<div className="text-fm-icon-positive text-xs">
|
|
755
781
|
Completed
|
|
756
782
|
</div>
|
|
757
783
|
</div>
|
|
758
784
|
</div>
|
|
759
785
|
<div className="flex items-center gap-1">
|
|
760
786
|
<CoinIcon className="h-4 w-4" />
|
|
761
|
-
<span className="font-medium
|
|
787
|
+
<span className="text-fm-icon-positive font-medium">
|
|
762
788
|
+10
|
|
763
789
|
</span>
|
|
764
790
|
</div>
|
|
765
791
|
</div>
|
|
766
|
-
<div className="flex items-center justify-between rounded-lg border
|
|
792
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 flex items-center justify-between rounded-lg border p-3">
|
|
767
793
|
<div className="flex items-center gap-3">
|
|
768
|
-
<div className="flex h-8 w-8 items-center justify-center rounded-lg
|
|
769
|
-
<span className="text-
|
|
794
|
+
<div className="bg-fm-icon-info/20 flex h-8 w-8 items-center justify-center rounded-lg">
|
|
795
|
+
<span className="text-fm-icon-info text-sm">
|
|
770
796
|
2/3
|
|
771
797
|
</span>
|
|
772
798
|
</div>
|
|
773
799
|
<div>
|
|
774
|
-
<div className="text-sm font-medium
|
|
800
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
775
801
|
Share Content
|
|
776
802
|
</div>
|
|
777
|
-
<div className="text-
|
|
803
|
+
<div className="text-fm-icon-info text-xs">
|
|
778
804
|
2 of 3 shares
|
|
779
805
|
</div>
|
|
780
806
|
</div>
|
|
781
807
|
</div>
|
|
782
808
|
<div className="flex items-center gap-1">
|
|
783
809
|
<CoinIcon className="h-4 w-4" />
|
|
784
|
-
<span className="font-medium
|
|
810
|
+
<span className="text-fm-icon-warning font-medium">
|
|
785
811
|
25
|
|
786
812
|
</span>
|
|
787
813
|
</div>
|
|
788
814
|
</div>
|
|
789
|
-
<div className="flex items-center justify-between rounded-lg border
|
|
815
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded-lg border p-3">
|
|
790
816
|
<div className="flex items-center gap-3">
|
|
791
|
-
<div className="flex h-8 w-8 items-center justify-center rounded-lg
|
|
792
|
-
<span className="text-
|
|
817
|
+
<div className="bg-fm-surface-secondary flex h-8 w-8 items-center justify-center rounded-lg">
|
|
818
|
+
<span className="text-fm-tertiary text-sm">
|
|
793
819
|
0/5
|
|
794
820
|
</span>
|
|
795
821
|
</div>
|
|
796
822
|
<div>
|
|
797
|
-
<div className="text-sm font-medium
|
|
823
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
798
824
|
Invite Friends
|
|
799
825
|
</div>
|
|
800
|
-
<div className="text-
|
|
826
|
+
<div className="text-fm-tertiary text-xs">
|
|
801
827
|
0 of 5 invites
|
|
802
828
|
</div>
|
|
803
829
|
</div>
|
|
804
830
|
</div>
|
|
805
831
|
<div className="flex items-center gap-1">
|
|
806
832
|
<CoinIcon className="h-4 w-4" />
|
|
807
|
-
<span className="font-medium
|
|
833
|
+
<span className="text-fm-icon-warning font-medium">
|
|
808
834
|
100
|
|
809
835
|
</span>
|
|
810
836
|
</div>
|
|
@@ -812,8 +838,8 @@ function WalletBalance() {
|
|
|
812
838
|
</div>
|
|
813
839
|
</div>
|
|
814
840
|
</div>
|
|
815
|
-
<div className="rounded-lg
|
|
816
|
-
<pre className="overflow-x-auto text-sm
|
|
841
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
842
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
817
843
|
{`// Rewards and challenges dashboard
|
|
818
844
|
<div className="challenges-dashboard">
|
|
819
845
|
<div className="dashboard-header">
|
|
@@ -852,78 +878,78 @@ function WalletBalance() {
|
|
|
852
878
|
|
|
853
879
|
{/* E-commerce Pricing */}
|
|
854
880
|
<div className="!space-y-4">
|
|
855
|
-
<h3 className="text-lg font-semibold
|
|
881
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
856
882
|
E-commerce Integration
|
|
857
883
|
</h3>
|
|
858
884
|
<div className="!space-y-4">
|
|
859
|
-
<div className="rounded-lg border
|
|
860
|
-
<div className="overflow-hidden rounded-lg border
|
|
861
|
-
<div className="border-
|
|
862
|
-
<h4 className="text-lg font-semibold
|
|
885
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
886
|
+
<div className="border-fm-divider-primary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
887
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-b p-4">
|
|
888
|
+
<h4 className="text-fm-icon-active text-lg font-semibold">
|
|
863
889
|
Premium Membership
|
|
864
890
|
</h4>
|
|
865
|
-
<p className="text-
|
|
891
|
+
<p className="text-fm-tertiary text-sm">
|
|
866
892
|
Unlock exclusive features and benefits
|
|
867
893
|
</p>
|
|
868
894
|
</div>
|
|
869
895
|
<div className="space-y-4 p-6">
|
|
870
896
|
<div className="grid grid-cols-3 gap-4">
|
|
871
|
-
<div className="rounded-lg border
|
|
872
|
-
<div className="mb-1 text-2xl font-bold
|
|
897
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4 text-center">
|
|
898
|
+
<div className="text-fm-icon-active mb-1 text-2xl font-bold">
|
|
873
899
|
Basic
|
|
874
900
|
</div>
|
|
875
901
|
<div className="mb-2 flex items-center justify-center gap-1">
|
|
876
902
|
<CoinIcon className="h-4 w-4" />
|
|
877
|
-
<span className="font-medium
|
|
903
|
+
<span className="text-fm-icon-warning font-medium">
|
|
878
904
|
Free
|
|
879
905
|
</span>
|
|
880
906
|
</div>
|
|
881
|
-
<ul className="space-y-1 text-xs
|
|
907
|
+
<ul className="text-fm-tertiary space-y-1 text-xs">
|
|
882
908
|
<li>Limited features</li>
|
|
883
909
|
<li>Basic support</li>
|
|
884
910
|
</ul>
|
|
885
911
|
</div>
|
|
886
|
-
<div className="
|
|
887
|
-
<div className="mb-1 text-2xl font-bold
|
|
912
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/10 rounded-lg border p-4 text-center">
|
|
913
|
+
<div className="text-fm-icon-active mb-1 text-2xl font-bold">
|
|
888
914
|
Pro
|
|
889
915
|
</div>
|
|
890
916
|
<div className="mb-2 flex items-center justify-center gap-1">
|
|
891
917
|
<CoinIcon className="h-4 w-4" />
|
|
892
|
-
<span className="font-medium
|
|
918
|
+
<span className="text-fm-icon-warning font-medium">
|
|
893
919
|
299/mo
|
|
894
920
|
</span>
|
|
895
921
|
</div>
|
|
896
|
-
<ul className="space-y-1 text-xs
|
|
922
|
+
<ul className="text-fm-tertiary space-y-1 text-xs">
|
|
897
923
|
<li>Advanced features</li>
|
|
898
924
|
<li>Priority support</li>
|
|
899
925
|
</ul>
|
|
900
926
|
</div>
|
|
901
|
-
<div className="
|
|
902
|
-
<div className="mb-1 text-2xl font-bold
|
|
927
|
+
<div className="border-fm-secondary-500/30 bg-fm-secondary-500/10 rounded-lg border p-4 text-center">
|
|
928
|
+
<div className="text-fm-icon-active mb-1 text-2xl font-bold">
|
|
903
929
|
Enterprise
|
|
904
930
|
</div>
|
|
905
931
|
<div className="mb-2 flex items-center justify-center gap-1">
|
|
906
932
|
<CoinIcon className="h-4 w-4" />
|
|
907
|
-
<span className="font-medium
|
|
933
|
+
<span className="text-fm-icon-warning font-medium">
|
|
908
934
|
999/mo
|
|
909
935
|
</span>
|
|
910
936
|
</div>
|
|
911
|
-
<ul className="space-y-1 text-xs
|
|
937
|
+
<ul className="text-fm-tertiary space-y-1 text-xs">
|
|
912
938
|
<li>All features</li>
|
|
913
939
|
<li>24/7 support</li>
|
|
914
940
|
</ul>
|
|
915
941
|
</div>
|
|
916
942
|
</div>
|
|
917
943
|
<div className="text-center">
|
|
918
|
-
<button className="
|
|
944
|
+
<button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 rounded-lg border px-6 py-2 transition-colors">
|
|
919
945
|
Choose Plan
|
|
920
946
|
</button>
|
|
921
947
|
</div>
|
|
922
948
|
</div>
|
|
923
949
|
</div>
|
|
924
950
|
</div>
|
|
925
|
-
<div className="rounded-lg
|
|
926
|
-
<pre className="overflow-x-auto text-sm
|
|
951
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
952
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
927
953
|
{`// E-commerce pricing with coin display
|
|
928
954
|
<div className="pricing-plans">
|
|
929
955
|
<div className="pricing-header">
|
|
@@ -967,64 +993,64 @@ function WalletBalance() {
|
|
|
967
993
|
|
|
968
994
|
{/* Accessibility */}
|
|
969
995
|
<div className="!space-y-8">
|
|
970
|
-
<h2 className="text-center text-3xl font-bold
|
|
996
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
971
997
|
Accessibility Features
|
|
972
998
|
</h2>
|
|
973
999
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
974
|
-
<div className="!space-y-4 rounded-lg border
|
|
975
|
-
<h3 className="text-lg font-semibold
|
|
1000
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
1001
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
976
1002
|
✅ Built-in Features
|
|
977
1003
|
</h3>
|
|
978
|
-
<ul className="!space-y-2 text-sm
|
|
979
|
-
<li className="
|
|
1004
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
1005
|
+
<li className="text-fm-secondary!">
|
|
980
1006
|
Uses Radix UI AccessibleIcon wrapper
|
|
981
1007
|
</li>
|
|
982
|
-
<li className="
|
|
1008
|
+
<li className="text-fm-secondary!">
|
|
983
1009
|
Provides screen reader label "Coin icon"
|
|
984
1010
|
</li>
|
|
985
|
-
<li className="
|
|
1011
|
+
<li className="text-fm-secondary!">
|
|
986
1012
|
Supports keyboard navigation when interactive
|
|
987
1013
|
</li>
|
|
988
|
-
<li className="
|
|
1014
|
+
<li className="text-fm-secondary!">
|
|
989
1015
|
High contrast golden colors for visibility
|
|
990
1016
|
</li>
|
|
991
|
-
<li className="
|
|
1017
|
+
<li className="text-fm-secondary!">
|
|
992
1018
|
Consistent visual design across all sizes
|
|
993
1019
|
</li>
|
|
994
1020
|
</ul>
|
|
995
1021
|
</div>
|
|
996
1022
|
|
|
997
|
-
<div className="!space-y-4 rounded-lg border
|
|
998
|
-
<h3 className="text-lg font-semibold
|
|
1023
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
1024
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
999
1025
|
💡 Best Practices
|
|
1000
1026
|
</h3>
|
|
1001
|
-
<ul className="!space-y-2 text-sm
|
|
1002
|
-
<li className="
|
|
1027
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
1028
|
+
<li className="text-fm-secondary!">
|
|
1003
1029
|
Always pair with numerical values for context
|
|
1004
1030
|
</li>
|
|
1005
|
-
<li className="
|
|
1031
|
+
<li className="text-fm-secondary!">
|
|
1006
1032
|
Use consistent coin terminology across the interface
|
|
1007
1033
|
</li>
|
|
1008
|
-
<li className="
|
|
1034
|
+
<li className="text-fm-secondary!">
|
|
1009
1035
|
Provide clear labels for coin-based interactions
|
|
1010
1036
|
</li>
|
|
1011
|
-
<li className="
|
|
1037
|
+
<li className="text-fm-secondary!">
|
|
1012
1038
|
Consider currency exchange rates for international users
|
|
1013
1039
|
</li>
|
|
1014
|
-
<li className="
|
|
1040
|
+
<li className="text-fm-secondary!">
|
|
1015
1041
|
Implement proper error handling for insufficient funds
|
|
1016
1042
|
</li>
|
|
1017
1043
|
</ul>
|
|
1018
1044
|
</div>
|
|
1019
1045
|
</div>
|
|
1020
1046
|
|
|
1021
|
-
<div className="rounded-lg border
|
|
1022
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
1047
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
1048
|
+
<h3 className="text-fm-icon-info! mb-4 text-lg font-semibold">
|
|
1023
1049
|
Proper ARIA Implementation
|
|
1024
1050
|
</h3>
|
|
1025
1051
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
1026
|
-
<div className="rounded-lg
|
|
1027
|
-
<pre className="overflow-x-auto text-sm
|
|
1052
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
1053
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
1028
1054
|
{`// Wallet balance display
|
|
1029
1055
|
<div className="balance-display">
|
|
1030
1056
|
<CoinIcon
|
|
@@ -1080,14 +1106,14 @@ function WalletBalance() {
|
|
|
1080
1106
|
</pre>
|
|
1081
1107
|
</div>
|
|
1082
1108
|
<div className="!space-y-4">
|
|
1083
|
-
<p className="text-
|
|
1109
|
+
<p className="text-fm-secondary! text-sm">
|
|
1084
1110
|
When using CoinIcon for financial displays, always
|
|
1085
1111
|
provide clear context about the currency value and
|
|
1086
1112
|
ensure users understand the monetary implications of
|
|
1087
1113
|
their actions.
|
|
1088
1114
|
</p>
|
|
1089
|
-
<div className="
|
|
1090
|
-
<div className="flex items-center gap-2 text-sm
|
|
1115
|
+
<div className="border-fm-icon-warning/20 bg-fm-icon-warning/10 rounded-lg border p-4">
|
|
1116
|
+
<div className="text-fm-icon-warning flex items-center gap-2 text-sm">
|
|
1091
1117
|
<CoinIcon className="h-4 w-4" />
|
|
1092
1118
|
<span>
|
|
1093
1119
|
Always announce balance changes and transaction
|
|
@@ -1102,52 +1128,58 @@ function WalletBalance() {
|
|
|
1102
1128
|
|
|
1103
1129
|
{/* Related Icons */}
|
|
1104
1130
|
<div className="!space-y-8">
|
|
1105
|
-
<h2 className="text-center text-3xl font-bold
|
|
1131
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
1106
1132
|
Related Icons
|
|
1107
1133
|
</h2>
|
|
1108
1134
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
1109
|
-
<div className="!space-y-3 rounded-lg border
|
|
1110
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
1111
|
-
<span className="
|
|
1135
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
1136
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
1137
|
+
<span className="text-fm-icon-active! !text-2xl">💳</span>
|
|
1112
1138
|
</div>
|
|
1113
1139
|
<div>
|
|
1114
|
-
<div className="font-medium
|
|
1140
|
+
<div className="text-fm-icon-active font-medium">
|
|
1115
1141
|
CreditCardIcon
|
|
1116
1142
|
</div>
|
|
1117
|
-
<div className="text-
|
|
1143
|
+
<div className="text-fm-tertiary text-xs">
|
|
1118
1144
|
Payment method
|
|
1119
1145
|
</div>
|
|
1120
1146
|
</div>
|
|
1121
1147
|
</div>
|
|
1122
|
-
<div className="!space-y-3 rounded-lg border
|
|
1123
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
1124
|
-
<span className="
|
|
1148
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
1149
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
1150
|
+
<span className="text-fm-icon-active! !text-2xl">💰</span>
|
|
1125
1151
|
</div>
|
|
1126
1152
|
<div>
|
|
1127
|
-
<div className="font-medium
|
|
1128
|
-
|
|
1153
|
+
<div className="text-fm-icon-active font-medium">
|
|
1154
|
+
WalletIcon
|
|
1155
|
+
</div>
|
|
1156
|
+
<div className="text-fm-tertiary text-xs">
|
|
1129
1157
|
Digital wallet
|
|
1130
1158
|
</div>
|
|
1131
1159
|
</div>
|
|
1132
1160
|
</div>
|
|
1133
|
-
<div className="!space-y-3 rounded-lg border
|
|
1134
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
1135
|
-
<span className="
|
|
1161
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
1162
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
1163
|
+
<span className="text-fm-icon-active! !text-2xl">🏆</span>
|
|
1136
1164
|
</div>
|
|
1137
1165
|
<div>
|
|
1138
|
-
<div className="font-medium
|
|
1139
|
-
|
|
1166
|
+
<div className="text-fm-icon-active font-medium">
|
|
1167
|
+
TrophyIcon
|
|
1168
|
+
</div>
|
|
1169
|
+
<div className="text-fm-tertiary text-xs">
|
|
1140
1170
|
Achievement reward
|
|
1141
1171
|
</div>
|
|
1142
1172
|
</div>
|
|
1143
1173
|
</div>
|
|
1144
|
-
<div className="!space-y-3 rounded-lg border
|
|
1145
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
1146
|
-
<span className="
|
|
1174
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
1175
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
1176
|
+
<span className="text-fm-icon-active! !text-2xl">🛒</span>
|
|
1147
1177
|
</div>
|
|
1148
1178
|
<div>
|
|
1149
|
-
<div className="font-medium
|
|
1150
|
-
|
|
1179
|
+
<div className="text-fm-icon-active font-medium">
|
|
1180
|
+
ShoppingIcon
|
|
1181
|
+
</div>
|
|
1182
|
+
<div className="text-fm-tertiary text-xs">
|
|
1151
1183
|
Purchase items
|
|
1152
1184
|
</div>
|
|
1153
1185
|
</div>
|
|
@@ -1157,15 +1189,15 @@ function WalletBalance() {
|
|
|
1157
1189
|
</div>
|
|
1158
1190
|
|
|
1159
1191
|
{/* Footer */}
|
|
1160
|
-
<div className="border-
|
|
1192
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
1161
1193
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
1162
1194
|
<div className="!space-y-4 text-center">
|
|
1163
|
-
<p className="
|
|
1195
|
+
<p className="text-fm-tertiary!">
|
|
1164
1196
|
CoinIcon is part of the Aural UI icon library, built with
|
|
1165
1197
|
accessibility and financial interface best practices in
|
|
1166
1198
|
mind.
|
|
1167
1199
|
</p>
|
|
1168
|
-
<p className="text-
|
|
1200
|
+
<p className="text-fm-placeholder! text-sm">
|
|
1169
1201
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
1170
1202
|
compatibility and follow WCAG guidelines for monetary
|
|
1171
1203
|
displays and transaction interfaces.
|
|
@@ -1211,8 +1243,8 @@ const storyParameters = {
|
|
|
1211
1243
|
backgrounds: {
|
|
1212
1244
|
default: "dark",
|
|
1213
1245
|
values: [
|
|
1214
|
-
{ name: "dark", value: "
|
|
1215
|
-
{ name: "darker", value: "
|
|
1246
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
1247
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
1216
1248
|
],
|
|
1217
1249
|
},
|
|
1218
1250
|
}
|
|
@@ -1224,7 +1256,7 @@ export const Default: Story = {
|
|
|
1224
1256
|
},
|
|
1225
1257
|
parameters: storyParameters,
|
|
1226
1258
|
render: (args) => (
|
|
1227
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1259
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary flex h-32 min-h-dvh items-center justify-center rounded-lg bg-linear-to-br">
|
|
1228
1260
|
<CoinIcon {...args} />
|
|
1229
1261
|
</div>
|
|
1230
1262
|
),
|
|
@@ -1241,30 +1273,30 @@ export const SizeVariations: Story = {
|
|
|
1241
1273
|
},
|
|
1242
1274
|
},
|
|
1243
1275
|
render: () => (
|
|
1244
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
1276
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-linear-to-br p-8">
|
|
1245
1277
|
<div className="text-center">
|
|
1246
1278
|
<CoinIcon className="!mx-auto mb-2 h-3 w-3" />
|
|
1247
|
-
<span className="text-
|
|
1279
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
1248
1280
|
</div>
|
|
1249
1281
|
<div className="text-center">
|
|
1250
1282
|
<CoinIcon className="!mx-auto mb-2 h-4 w-4" />
|
|
1251
|
-
<span className="text-
|
|
1283
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
1252
1284
|
</div>
|
|
1253
1285
|
<div className="text-center">
|
|
1254
1286
|
<CoinIcon className="!mx-auto mb-2 h-5 w-5" />
|
|
1255
|
-
<span className="text-
|
|
1287
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
1256
1288
|
</div>
|
|
1257
1289
|
<div className="text-center">
|
|
1258
1290
|
<CoinIcon className="!mx-auto mb-2 h-6 w-6" />
|
|
1259
|
-
<span className="text-
|
|
1291
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
1260
1292
|
</div>
|
|
1261
1293
|
<div className="text-center">
|
|
1262
1294
|
<CoinIcon className="!mx-auto mb-2 h-8 w-8" />
|
|
1263
|
-
<span className="text-
|
|
1295
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
1264
1296
|
</div>
|
|
1265
1297
|
<div className="text-center">
|
|
1266
1298
|
<CoinIcon className="!mx-auto mb-2 h-12 w-12" />
|
|
1267
|
-
<span className="text-
|
|
1299
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
1268
1300
|
</div>
|
|
1269
1301
|
</div>
|
|
1270
1302
|
),
|
|
@@ -1281,27 +1313,33 @@ export const ContextualUsage: Story = {
|
|
|
1281
1313
|
},
|
|
1282
1314
|
},
|
|
1283
1315
|
render: () => (
|
|
1284
|
-
<div className="grid min-h-dvh grid-cols-1 items-center justify-center gap-6 rounded-lg bg-
|
|
1316
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary grid min-h-dvh grid-cols-1 items-center justify-center gap-6 rounded-lg bg-linear-to-br p-8 md:grid-cols-3">
|
|
1285
1317
|
<div className="text-center">
|
|
1286
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1318
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1287
1319
|
<CoinIcon className="h-8 w-8" />
|
|
1288
1320
|
</div>
|
|
1289
|
-
<div className="text-sm font-medium
|
|
1290
|
-
|
|
1321
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
1322
|
+
Wallet Balance
|
|
1323
|
+
</div>
|
|
1324
|
+
<div className="text-fm-icon-warning text-xs">Currency display</div>
|
|
1291
1325
|
</div>
|
|
1292
1326
|
<div className="text-center">
|
|
1293
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1327
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1294
1328
|
<CoinIcon className="h-8 w-8" />
|
|
1295
1329
|
</div>
|
|
1296
|
-
<div className="text-sm font-medium
|
|
1297
|
-
|
|
1330
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
1331
|
+
Store Pricing
|
|
1332
|
+
</div>
|
|
1333
|
+
<div className="text-fm-icon-warning text-xs">E-commerce value</div>
|
|
1298
1334
|
</div>
|
|
1299
1335
|
<div className="text-center">
|
|
1300
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1336
|
+
<div className="border-fm-icon-warning/30 bg-fm-icon-warning/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1301
1337
|
<CoinIcon className="h-8 w-8" />
|
|
1302
1338
|
</div>
|
|
1303
|
-
<div className="text-sm font-medium
|
|
1304
|
-
|
|
1339
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
1340
|
+
Game Rewards
|
|
1341
|
+
</div>
|
|
1342
|
+
<div className="text-fm-icon-warning text-xs">Achievement system</div>
|
|
1305
1343
|
</div>
|
|
1306
1344
|
</div>
|
|
1307
1345
|
),
|
|
@@ -1318,18 +1356,22 @@ export const UsageExamples: Story = {
|
|
|
1318
1356
|
},
|
|
1319
1357
|
},
|
|
1320
1358
|
render: () => (
|
|
1321
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1359
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
1322
1360
|
{/* Wallet Display */}
|
|
1323
1361
|
<div className="!space-y-2">
|
|
1324
|
-
<h3 className="text-sm font-medium
|
|
1362
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1325
1363
|
Digital Wallet Balance
|
|
1326
1364
|
</h3>
|
|
1327
|
-
<div className="rounded-lg border
|
|
1328
|
-
<div className="flex items-center justify-between rounded border
|
|
1329
|
-
<span className="font-medium
|
|
1365
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
1366
|
+
<div className="border-fm-icon-warning/30 from-fm-icon-warning/20 to-fm-icon-warning/20 flex items-center justify-between rounded border bg-linear-to-r p-3">
|
|
1367
|
+
<span className="text-fm-icon-active font-medium">
|
|
1368
|
+
Current Balance
|
|
1369
|
+
</span>
|
|
1330
1370
|
<div className="flex items-center gap-2">
|
|
1331
1371
|
<CoinIcon className="h-5 w-5" />
|
|
1332
|
-
<span className="text-lg font-bold
|
|
1372
|
+
<span className="text-fm-icon-warning text-lg font-bold">
|
|
1373
|
+
2,847
|
|
1374
|
+
</span>
|
|
1333
1375
|
</div>
|
|
1334
1376
|
</div>
|
|
1335
1377
|
</div>
|
|
@@ -1337,24 +1379,28 @@ export const UsageExamples: Story = {
|
|
|
1337
1379
|
|
|
1338
1380
|
{/* Store Item */}
|
|
1339
1381
|
<div className="!space-y-2">
|
|
1340
|
-
<h3 className="text-sm font-medium
|
|
1341
|
-
|
|
1342
|
-
|
|
1382
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1383
|
+
Store Item Pricing
|
|
1384
|
+
</h3>
|
|
1385
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
1386
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-between rounded border p-3">
|
|
1343
1387
|
<div className="flex items-center gap-3">
|
|
1344
|
-
<div className="flex h-10 w-10 items-center justify-center rounded-lg
|
|
1388
|
+
<div className="bg-fm-secondary-500/20 flex h-10 w-10 items-center justify-center rounded-lg">
|
|
1345
1389
|
<span>⚔️</span>
|
|
1346
1390
|
</div>
|
|
1347
1391
|
<div>
|
|
1348
|
-
<div className="text-sm font-medium
|
|
1349
|
-
|
|
1392
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
1393
|
+
Epic Sword
|
|
1394
|
+
</div>
|
|
1395
|
+
<div className="text-fm-tertiary text-xs">Legendary weapon</div>
|
|
1350
1396
|
</div>
|
|
1351
1397
|
</div>
|
|
1352
1398
|
<div className="flex items-center gap-2">
|
|
1353
1399
|
<div className="flex items-center gap-1">
|
|
1354
1400
|
<CoinIcon className="h-4 w-4" />
|
|
1355
|
-
<span className="font-medium
|
|
1401
|
+
<span className="text-fm-icon-warning font-medium">500</span>
|
|
1356
1402
|
</div>
|
|
1357
|
-
<button className="
|
|
1403
|
+
<button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 rounded border px-3 py-1 text-sm transition-colors">
|
|
1358
1404
|
Buy
|
|
1359
1405
|
</button>
|
|
1360
1406
|
</div>
|
|
@@ -1381,8 +1427,8 @@ export const Playground: Story = {
|
|
|
1381
1427
|
className: "",
|
|
1382
1428
|
},
|
|
1383
1429
|
render: (args) => (
|
|
1384
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1385
|
-
<div className="rounded-lg border
|
|
1430
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary flex h-64 min-h-dvh items-center justify-center rounded-lg bg-linear-to-br">
|
|
1431
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1386
1432
|
<CoinIcon {...args} />
|
|
1387
1433
|
</div>
|
|
1388
1434
|
</div>
|