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 StoreCoinIcon> = {
|
|
|
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,59 +40,59 @@ const meta: Meta<typeof StoreCoinIcon> = {
|
|
|
40
40
|
background: transparent !important;
|
|
41
41
|
}
|
|
42
42
|
body {
|
|
43
|
-
background:
|
|
43
|
+
background: var(--color-fm-surface-primary) !important;
|
|
44
44
|
}
|
|
45
45
|
#storybook-docs {
|
|
46
|
-
background:
|
|
46
|
+
background: var(--color-fm-surface-primary) !important;
|
|
47
47
|
}
|
|
48
48
|
.sbdocs-preview {
|
|
49
49
|
background: transparent !important;
|
|
50
50
|
border: none !important;
|
|
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) !important;
|
|
54
54
|
}
|
|
55
55
|
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color:
|
|
56
|
+
color: var(--color-fm-secondary) !important;
|
|
57
57
|
}
|
|
58
58
|
.sbdocs-code {
|
|
59
|
-
background:
|
|
60
|
-
color:
|
|
61
|
-
border: 1px solid
|
|
59
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
60
|
+
color: var(--color-fm-secondary-500) !important;
|
|
61
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
62
62
|
}
|
|
63
63
|
.sbdocs-pre {
|
|
64
|
-
background:
|
|
65
|
-
border: 1px solid
|
|
64
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
65
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
66
66
|
}
|
|
67
67
|
.sbdocs-table {
|
|
68
|
-
background:
|
|
69
|
-
border: 1px solid
|
|
68
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
69
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
70
70
|
}
|
|
71
71
|
.sbdocs-table th {
|
|
72
|
-
background:
|
|
73
|
-
color:
|
|
74
|
-
border-bottom: 1px solid
|
|
72
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
73
|
+
color: var(--color-fm-icon-active) !important;
|
|
74
|
+
border-bottom: 1px solid var(--color-fm-divider-secondary) !important;
|
|
75
75
|
}
|
|
76
76
|
.sbdocs-table td {
|
|
77
|
-
color:
|
|
78
|
-
border-bottom: 1px solid
|
|
77
|
+
color: var(--color-fm-secondary) !important;
|
|
78
|
+
border-bottom: 1px solid var(--color-fm-divider-tertiary) !important;
|
|
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="
|
|
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 via-fm-icon-warning/10 to-fm-icon-warning/10 absolute inset-0 bg-linear-to-r" />
|
|
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
|
<StoreCoinIcon className="h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
92
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
93
93
|
StoreCoinIcon
|
|
94
94
|
</h1>
|
|
95
|
-
<p className="!mx-auto max-w-3xl text-xl leading-relaxed
|
|
95
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
96
96
|
A vibrant store coin icon representing in-app purchases,
|
|
97
97
|
virtual currency, and digital transactions. Built with
|
|
98
98
|
accessibility in mind using Radix UI's AccessibleIcon
|
|
@@ -102,28 +102,28 @@ const meta: Meta<typeof StoreCoinIcon> = {
|
|
|
102
102
|
{/* Stats */}
|
|
103
103
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
104
104
|
<div className="text-center">
|
|
105
|
-
<div className="text-3xl font-bold
|
|
105
|
+
<div className="text-fm-icon-warning text-3xl font-bold">
|
|
106
106
|
Accessible
|
|
107
107
|
</div>
|
|
108
|
-
<div className="text-
|
|
108
|
+
<div className="text-fm-tertiary text-sm">
|
|
109
109
|
Screen reader friendly
|
|
110
110
|
</div>
|
|
111
111
|
</div>
|
|
112
|
-
<div className="h-8 w-px
|
|
112
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
113
113
|
<div className="text-center">
|
|
114
|
-
<div className="text-3xl font-bold
|
|
114
|
+
<div className="text-fm-icon-warning text-3xl font-bold">
|
|
115
115
|
Scalable
|
|
116
116
|
</div>
|
|
117
|
-
<div className="text-
|
|
117
|
+
<div className="text-fm-tertiary text-sm">
|
|
118
118
|
Any size needed
|
|
119
119
|
</div>
|
|
120
120
|
</div>
|
|
121
|
-
<div className="h-8 w-px
|
|
121
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
122
122
|
<div className="text-center">
|
|
123
|
-
<div className="text-3xl font-bold
|
|
123
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
124
124
|
Flexible
|
|
125
125
|
</div>
|
|
126
|
-
<div className="text-
|
|
126
|
+
<div className="text-fm-tertiary text-sm">
|
|
127
127
|
Customizable styling
|
|
128
128
|
</div>
|
|
129
129
|
</div>
|
|
@@ -136,16 +136,16 @@ const meta: Meta<typeof StoreCoinIcon> = {
|
|
|
136
136
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
137
137
|
{/* Quick Usage */}
|
|
138
138
|
<div className="!space-y-8">
|
|
139
|
-
<h2 className="text-center text-3xl font-bold
|
|
139
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
140
140
|
Quick Start
|
|
141
141
|
</h2>
|
|
142
142
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
143
143
|
<div className="!space-y-4">
|
|
144
|
-
<h3 className="text-xl font-semibold
|
|
144
|
+
<h3 className="text-fm-icon-warning! text-xl font-semibold">
|
|
145
145
|
Basic Usage
|
|
146
146
|
</h3>
|
|
147
|
-
<div className="rounded-lg
|
|
148
|
-
<pre className="overflow-x-auto text-sm
|
|
147
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
148
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
149
149
|
{`import { StoreCoinIcon } from "@icons/store-coin-icon"
|
|
150
150
|
|
|
151
151
|
function PurchaseButton() {
|
|
@@ -161,13 +161,13 @@ function PurchaseButton() {
|
|
|
161
161
|
</div>
|
|
162
162
|
|
|
163
163
|
<div className="!space-y-4">
|
|
164
|
-
<h3 className="text-xl font-semibold
|
|
164
|
+
<h3 className="text-fm-icon-warning! text-xl font-semibold">
|
|
165
165
|
Live Preview
|
|
166
166
|
</h3>
|
|
167
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
168
|
-
<button className="flex items-center gap-3 rounded-lg border
|
|
167
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
168
|
+
<button className="border-fm-icon-warning/20 bg-fm-icon-warning/10 hover:bg-fm-icon-warning/20 flex items-center gap-3 rounded-lg border px-4 py-2 transition-colors">
|
|
169
169
|
<StoreCoinIcon className="h-5 w-5" />
|
|
170
|
-
<span className="text-
|
|
170
|
+
<span className="text-fm-icon-active">Buy Coins</span>
|
|
171
171
|
</button>
|
|
172
172
|
</div>
|
|
173
173
|
</div>
|
|
@@ -176,94 +176,102 @@ function PurchaseButton() {
|
|
|
176
176
|
|
|
177
177
|
{/* Props Documentation */}
|
|
178
178
|
<div className="!space-y-8">
|
|
179
|
-
<h2 className="text-center text-3xl font-bold
|
|
179
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
180
180
|
Props & Configuration
|
|
181
181
|
</h2>
|
|
182
182
|
|
|
183
|
-
<div className="overflow-hidden rounded-lg border
|
|
184
|
-
<div className="bg-
|
|
185
|
-
<h3 className="text-xl font-semibold
|
|
183
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
184
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
185
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
186
|
+
Props
|
|
187
|
+
</h3>
|
|
186
188
|
</div>
|
|
187
189
|
<table className="!my-0 w-full">
|
|
188
|
-
<thead className="bg-
|
|
189
|
-
<tr className="border-
|
|
190
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
190
|
+
<thead className="bg-fm-surface-secondary">
|
|
191
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
192
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
191
193
|
Prop
|
|
192
194
|
</th>
|
|
193
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
195
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
194
196
|
Type
|
|
195
197
|
</th>
|
|
196
|
-
<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">
|
|
197
199
|
Default
|
|
198
200
|
</th>
|
|
199
|
-
<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">
|
|
200
202
|
Description
|
|
201
203
|
</th>
|
|
202
204
|
</tr>
|
|
203
205
|
</thead>
|
|
204
206
|
<tbody>
|
|
205
207
|
{" "}
|
|
206
|
-
<tr className="
|
|
207
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
208
|
+
<tr className="bg-fm-surface-secondary!">
|
|
209
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
208
210
|
withAccessibility
|
|
209
211
|
</td>
|
|
210
|
-
<td className="px-6 py-4 text-sm
|
|
212
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
211
213
|
boolean
|
|
212
214
|
</td>
|
|
213
|
-
<td className="px-6 py-4 text-sm
|
|
215
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
214
216
|
true
|
|
215
217
|
</td>
|
|
216
|
-
<td className="px-6 py-4 text-sm
|
|
218
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
217
219
|
Whether to wrap the icon with accessibility feature
|
|
218
220
|
</td>
|
|
219
221
|
</tr>
|
|
220
|
-
<tr className="border-
|
|
221
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
222
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
223
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
222
224
|
height
|
|
223
225
|
</td>
|
|
224
|
-
<td className="px-6 py-4 text-sm
|
|
226
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
225
227
|
number | string
|
|
226
228
|
</td>
|
|
227
|
-
<td className="px-6 py-4 text-sm
|
|
228
|
-
|
|
229
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
230
|
+
28
|
|
231
|
+
</td>
|
|
232
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
229
233
|
Height of the icon in pixels
|
|
230
234
|
</td>
|
|
231
235
|
</tr>
|
|
232
|
-
<tr className="border-
|
|
233
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
236
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
237
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
234
238
|
fill
|
|
235
239
|
</td>
|
|
236
|
-
<td className="px-6 py-4 text-sm
|
|
240
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
237
241
|
string
|
|
238
242
|
</td>
|
|
239
|
-
<td className="px-6 py-4 text-sm
|
|
243
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
240
244
|
Coin gradient
|
|
241
245
|
</td>
|
|
242
|
-
<td className="px-6 py-4 text-sm
|
|
246
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
243
247
|
Uses embedded coin colors
|
|
244
248
|
</td>
|
|
245
249
|
</tr>
|
|
246
|
-
<tr className="border-
|
|
247
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
250
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
251
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
248
252
|
className
|
|
249
253
|
</td>
|
|
250
|
-
<td className="px-6 py-4 text-sm
|
|
254
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
251
255
|
string
|
|
252
256
|
</td>
|
|
253
|
-
<td className="px-6 py-4 text-sm
|
|
254
|
-
|
|
257
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
258
|
+
-
|
|
259
|
+
</td>
|
|
260
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
255
261
|
CSS classes for styling
|
|
256
262
|
</td>
|
|
257
263
|
</tr>
|
|
258
|
-
<tr className="
|
|
259
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
264
|
+
<tr className="bg-fm-surface-secondary!">
|
|
265
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
260
266
|
...svgProps
|
|
261
267
|
</td>
|
|
262
|
-
<td className="px-6 py-4 text-sm
|
|
268
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
263
269
|
SVGProps
|
|
264
270
|
</td>
|
|
265
|
-
<td className="px-6 py-4 text-sm
|
|
266
|
-
|
|
271
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
272
|
+
-
|
|
273
|
+
</td>
|
|
274
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
267
275
|
All standard SVG element props
|
|
268
276
|
</td>
|
|
269
277
|
</tr>
|
|
@@ -274,50 +282,62 @@ function PurchaseButton() {
|
|
|
274
282
|
|
|
275
283
|
{/* Size Variations */}
|
|
276
284
|
<div className="!space-y-8">
|
|
277
|
-
<h2 className="text-center text-3xl font-bold
|
|
285
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
278
286
|
Size Variations
|
|
279
287
|
</h2>
|
|
280
|
-
<div className="rounded-lg border
|
|
288
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
281
289
|
<div className="!space-y-6">
|
|
282
290
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
283
291
|
<div className="!space-y-4">
|
|
284
|
-
<h3 className="text-lg font-semibold
|
|
292
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
285
293
|
Standard Sizes
|
|
286
294
|
</h3>
|
|
287
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
295
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
288
296
|
<div className="text-center">
|
|
289
297
|
<StoreCoinIcon className="!mx-auto mb-2 h-3 w-3" />
|
|
290
|
-
<span className="text-
|
|
298
|
+
<span className="text-fm-tertiary text-xs">
|
|
299
|
+
12px
|
|
300
|
+
</span>
|
|
291
301
|
</div>
|
|
292
302
|
<div className="text-center">
|
|
293
303
|
<StoreCoinIcon className="!mx-auto mb-2 h-4 w-4" />
|
|
294
|
-
<span className="text-
|
|
304
|
+
<span className="text-fm-tertiary text-xs">
|
|
305
|
+
16px
|
|
306
|
+
</span>
|
|
295
307
|
</div>
|
|
296
308
|
<div className="text-center">
|
|
297
309
|
<StoreCoinIcon className="!mx-auto mb-2 h-5 w-5" />
|
|
298
|
-
<span className="text-
|
|
310
|
+
<span className="text-fm-tertiary text-xs">
|
|
311
|
+
20px
|
|
312
|
+
</span>
|
|
299
313
|
</div>
|
|
300
314
|
<div className="text-center">
|
|
301
315
|
<StoreCoinIcon className="!mx-auto mb-2 h-6 w-6" />
|
|
302
|
-
<span className="text-
|
|
316
|
+
<span className="text-fm-tertiary text-xs">
|
|
317
|
+
24px
|
|
318
|
+
</span>
|
|
303
319
|
</div>
|
|
304
320
|
<div className="text-center">
|
|
305
321
|
<StoreCoinIcon className="!mx-auto mb-2 h-8 w-8" />
|
|
306
|
-
<span className="text-
|
|
322
|
+
<span className="text-fm-tertiary text-xs">
|
|
323
|
+
32px
|
|
324
|
+
</span>
|
|
307
325
|
</div>
|
|
308
326
|
<div className="text-center">
|
|
309
327
|
<StoreCoinIcon className="!mx-auto mb-2 h-12 w-12" />
|
|
310
|
-
<span className="text-
|
|
328
|
+
<span className="text-fm-tertiary text-xs">
|
|
329
|
+
48px
|
|
330
|
+
</span>
|
|
311
331
|
</div>
|
|
312
332
|
</div>
|
|
313
333
|
</div>
|
|
314
334
|
|
|
315
335
|
<div className="!space-y-4">
|
|
316
|
-
<h3 className="text-lg font-semibold
|
|
336
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
317
337
|
Code Example
|
|
318
338
|
</h3>
|
|
319
|
-
<div className="rounded-lg
|
|
320
|
-
<pre className="overflow-x-auto text-sm
|
|
339
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
340
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
321
341
|
{`// Small (16px)
|
|
322
342
|
<StoreCoinIcon className="h-4 w-4" />
|
|
323
343
|
|
|
@@ -339,61 +359,61 @@ function PurchaseButton() {
|
|
|
339
359
|
|
|
340
360
|
{/* Color Variations */}
|
|
341
361
|
<div className="!space-y-8">
|
|
342
|
-
<h2 className="text-center text-3xl font-bold
|
|
362
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
343
363
|
Color Variations
|
|
344
364
|
</h2>
|
|
345
365
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
346
366
|
<div className="!space-y-4">
|
|
347
|
-
<h3 className="text-lg font-semibold
|
|
367
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
348
368
|
Display Contexts
|
|
349
369
|
</h3>
|
|
350
|
-
<div className="!space-y-4 rounded-lg border
|
|
370
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
351
371
|
<div className="flex items-center gap-4">
|
|
352
372
|
<StoreCoinIcon className="h-6 w-6" />
|
|
353
373
|
<div>
|
|
354
|
-
<div className="text-sm font-medium
|
|
374
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
355
375
|
Original Gradient
|
|
356
376
|
</div>
|
|
357
|
-
<div className="text-
|
|
377
|
+
<div className="text-fm-tertiary text-xs">
|
|
358
378
|
Golden coin design
|
|
359
379
|
</div>
|
|
360
380
|
</div>
|
|
361
381
|
</div>
|
|
362
382
|
<div className="flex items-center gap-4">
|
|
363
|
-
<div className="
|
|
383
|
+
<div className="bg-fm-surface-contrast rounded p-1">
|
|
364
384
|
<StoreCoinIcon className="h-5 w-5" />
|
|
365
385
|
</div>
|
|
366
386
|
<div>
|
|
367
|
-
<div className="text-sm font-medium
|
|
387
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
368
388
|
On White Background
|
|
369
389
|
</div>
|
|
370
|
-
<div className="text-
|
|
390
|
+
<div className="text-fm-tertiary text-xs">
|
|
371
391
|
Optimal contrast
|
|
372
392
|
</div>
|
|
373
393
|
</div>
|
|
374
394
|
</div>
|
|
375
395
|
<div className="flex items-center gap-4">
|
|
376
|
-
<div className="
|
|
396
|
+
<div className="bg-fm-surface-secondary rounded p-1">
|
|
377
397
|
<StoreCoinIcon className="h-5 w-5" />
|
|
378
398
|
</div>
|
|
379
399
|
<div>
|
|
380
|
-
<div className="text-sm font-medium
|
|
400
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
381
401
|
On Light Background
|
|
382
402
|
</div>
|
|
383
|
-
<div className="text-
|
|
403
|
+
<div className="text-fm-tertiary text-xs">
|
|
384
404
|
Light gray surface
|
|
385
405
|
</div>
|
|
386
406
|
</div>
|
|
387
407
|
</div>
|
|
388
408
|
<div className="flex items-center gap-4">
|
|
389
|
-
<div className="
|
|
409
|
+
<div className="bg-fm-surface-secondary rounded p-1">
|
|
390
410
|
<StoreCoinIcon className="h-5 w-5" />
|
|
391
411
|
</div>
|
|
392
412
|
<div>
|
|
393
|
-
<div className="text-sm font-medium
|
|
413
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
394
414
|
On Dark Background
|
|
395
415
|
</div>
|
|
396
|
-
<div className="text-
|
|
416
|
+
<div className="text-fm-tertiary text-xs">
|
|
397
417
|
Dark surface
|
|
398
418
|
</div>
|
|
399
419
|
</div>
|
|
@@ -402,11 +422,11 @@ function PurchaseButton() {
|
|
|
402
422
|
</div>
|
|
403
423
|
|
|
404
424
|
<div className="!space-y-4">
|
|
405
|
-
<h3 className="text-lg font-semibold
|
|
425
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
406
426
|
Implementation Notes
|
|
407
427
|
</h3>
|
|
408
|
-
<div className="rounded-lg
|
|
409
|
-
<pre className="overflow-x-auto text-sm
|
|
428
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
429
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
410
430
|
{`// Store coin uses embedded gradient colors
|
|
411
431
|
// Golden orange (#FFB340) with highlights
|
|
412
432
|
|
|
@@ -432,29 +452,29 @@ function PurchaseButton() {
|
|
|
432
452
|
|
|
433
453
|
{/* Usage Examples */}
|
|
434
454
|
<div className="!space-y-8">
|
|
435
|
-
<h2 className="text-center text-3xl font-bold
|
|
455
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
436
456
|
Usage Examples
|
|
437
457
|
</h2>
|
|
438
458
|
|
|
439
459
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
440
460
|
{/* Purchase Actions */}
|
|
441
461
|
<div className="!space-y-4">
|
|
442
|
-
<h3 className="text-lg font-semibold
|
|
462
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
443
463
|
Purchase Actions
|
|
444
464
|
</h3>
|
|
445
465
|
<div className="!space-y-4">
|
|
446
466
|
<div className="flex gap-4">
|
|
447
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
467
|
+
<button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
448
468
|
<StoreCoinIcon className="h-4 w-4" />
|
|
449
469
|
Buy Coins
|
|
450
470
|
</button>
|
|
451
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
471
|
+
<button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
|
|
452
472
|
<StoreCoinIcon className="h-4 w-4" />
|
|
453
473
|
Earn More
|
|
454
474
|
</button>
|
|
455
475
|
</div>
|
|
456
|
-
<div className="rounded-lg
|
|
457
|
-
<pre className="overflow-x-auto text-sm
|
|
476
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
477
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
458
478
|
{`// Primary purchase button
|
|
459
479
|
<button className="flex items-center gap-2 bg-yellow-500/20 border border-yellow-500/30 px-4 py-2 rounded-lg">
|
|
460
480
|
<StoreCoinIcon className="h-4 w-4" />
|
|
@@ -473,35 +493,37 @@ function PurchaseButton() {
|
|
|
473
493
|
|
|
474
494
|
{/* Balance Display */}
|
|
475
495
|
<div className="!space-y-4">
|
|
476
|
-
<h3 className="text-lg font-semibold
|
|
496
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
477
497
|
Balance Display
|
|
478
498
|
</h3>
|
|
479
499
|
<div className="!space-y-4">
|
|
480
|
-
<div className="rounded-lg border
|
|
500
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
481
501
|
<div className="flex items-center justify-between">
|
|
482
502
|
<div className="flex items-center gap-3">
|
|
483
|
-
<div className="flex h-10 w-10 items-center justify-center rounded-lg
|
|
503
|
+
<div className="bg-fm-icon-warning/20 flex h-10 w-10 items-center justify-center rounded-lg">
|
|
484
504
|
<StoreCoinIcon className="h-5 w-5" />
|
|
485
505
|
</div>
|
|
486
506
|
<div>
|
|
487
|
-
<div className="text-sm font-medium
|
|
507
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
488
508
|
Current Balance
|
|
489
509
|
</div>
|
|
490
|
-
<div className="text-
|
|
510
|
+
<div className="text-fm-tertiary text-xs">
|
|
491
511
|
Store Credits
|
|
492
512
|
</div>
|
|
493
513
|
</div>
|
|
494
514
|
</div>
|
|
495
515
|
<div className="text-right">
|
|
496
|
-
<div className="text-lg font-bold
|
|
516
|
+
<div className="text-fm-icon-warning text-lg font-bold">
|
|
497
517
|
2,450
|
|
498
518
|
</div>
|
|
499
|
-
<div className="text-
|
|
519
|
+
<div className="text-fm-tertiary text-xs">
|
|
520
|
+
coins
|
|
521
|
+
</div>
|
|
500
522
|
</div>
|
|
501
523
|
</div>
|
|
502
524
|
</div>
|
|
503
|
-
<div className="rounded-lg
|
|
504
|
-
<pre className="overflow-x-auto text-sm
|
|
525
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
526
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
505
527
|
{`<div className="flex items-center justify-between">
|
|
506
528
|
<div className="flex items-center gap-3">
|
|
507
529
|
<div className="flex h-10 w-10 items-center justify-center rounded-lg bg-yellow-500/20">
|
|
@@ -524,33 +546,33 @@ function PurchaseButton() {
|
|
|
524
546
|
|
|
525
547
|
{/* Store Package */}
|
|
526
548
|
<div className="!space-y-4">
|
|
527
|
-
<h3 className="text-lg font-semibold
|
|
549
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
528
550
|
Store Package
|
|
529
551
|
</h3>
|
|
530
552
|
<div className="!space-y-4">
|
|
531
|
-
<div className="
|
|
553
|
+
<div className="border-fm-icon-warning/20 bg-fm-icon-warning/5 rounded-lg border p-6">
|
|
532
554
|
<div className="!space-y-4 text-center">
|
|
533
|
-
<div className="!mx-auto flex h-16 w-16 items-center justify-center rounded-lg
|
|
555
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-16 w-16 items-center justify-center rounded-lg">
|
|
534
556
|
<StoreCoinIcon className="h-8 w-8" />
|
|
535
557
|
</div>
|
|
536
558
|
<div className="!space-y-2">
|
|
537
|
-
<h4 className="font-medium
|
|
559
|
+
<h4 className="text-fm-icon-active! font-medium">
|
|
538
560
|
Mega Coin Pack
|
|
539
561
|
</h4>
|
|
540
|
-
<p className="text-
|
|
562
|
+
<p className="text-fm-secondary! text-sm">
|
|
541
563
|
Get 10,000 coins with 20% bonus
|
|
542
564
|
</p>
|
|
543
|
-
<div className="text-2xl font-bold
|
|
565
|
+
<div className="text-fm-icon-warning text-2xl font-bold">
|
|
544
566
|
$9.99
|
|
545
567
|
</div>
|
|
546
568
|
</div>
|
|
547
|
-
<button className="
|
|
569
|
+
<button className="bg-fm-icon-warning text-fm-icon-active hover:bg-fm-icon-warning rounded-lg px-6 py-2 text-sm transition-colors">
|
|
548
570
|
Purchase
|
|
549
571
|
</button>
|
|
550
572
|
</div>
|
|
551
573
|
</div>
|
|
552
|
-
<div className="rounded-lg
|
|
553
|
-
<pre className="overflow-x-auto text-sm
|
|
574
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
575
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
554
576
|
{`<div className="border border-yellow-500/20 bg-yellow-500/5 p-6 rounded-lg">
|
|
555
577
|
<div className="space-y-4 text-center">
|
|
556
578
|
<div className="mx-auto flex h-16 w-16 items-center justify-center rounded-lg bg-yellow-500/20">
|
|
@@ -573,35 +595,35 @@ function PurchaseButton() {
|
|
|
573
595
|
|
|
574
596
|
{/* Transaction History */}
|
|
575
597
|
<div className="!space-y-4">
|
|
576
|
-
<h3 className="text-lg font-semibold
|
|
598
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
577
599
|
Transaction History
|
|
578
600
|
</h3>
|
|
579
601
|
<div className="!space-y-4">
|
|
580
|
-
<div className="!space-y-3 rounded-lg border
|
|
602
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4">
|
|
581
603
|
<div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
|
|
582
604
|
<StoreCoinIcon className="h-4 w-4" />
|
|
583
|
-
<span className="flex-1
|
|
605
|
+
<span className="text-fm-icon-active flex-1">
|
|
584
606
|
Purchased Premium Pack
|
|
585
607
|
</span>
|
|
586
|
-
<span className="text-
|
|
608
|
+
<span className="text-fm-icon-positive">+500</span>
|
|
587
609
|
</div>
|
|
588
610
|
<div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
|
|
589
611
|
<StoreCoinIcon className="h-4 w-4" />
|
|
590
|
-
<span className="flex-1
|
|
612
|
+
<span className="text-fm-icon-active flex-1">
|
|
591
613
|
Daily Login Bonus
|
|
592
614
|
</span>
|
|
593
|
-
<span className="text-
|
|
615
|
+
<span className="text-fm-icon-positive">+50</span>
|
|
594
616
|
</div>
|
|
595
617
|
<div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
|
|
596
618
|
<StoreCoinIcon className="h-4 w-4" />
|
|
597
|
-
<span className="flex-1
|
|
619
|
+
<span className="text-fm-icon-active flex-1">
|
|
598
620
|
Unlocked Special Item
|
|
599
621
|
</span>
|
|
600
|
-
<span className="text-
|
|
622
|
+
<span className="text-fm-icon-negative">-200</span>
|
|
601
623
|
</div>
|
|
602
624
|
</div>
|
|
603
|
-
<div className="rounded-lg
|
|
604
|
-
<pre className="overflow-x-auto text-sm
|
|
625
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
626
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
605
627
|
{`// Transaction history item
|
|
606
628
|
<div className="flex items-center gap-3 px-3 py-2 text-sm rounded">
|
|
607
629
|
<StoreCoinIcon className="h-4 w-4" />
|
|
@@ -617,64 +639,64 @@ function PurchaseButton() {
|
|
|
617
639
|
|
|
618
640
|
{/* Accessibility */}
|
|
619
641
|
<div className="!space-y-8">
|
|
620
|
-
<h2 className="text-center text-3xl font-bold
|
|
642
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
621
643
|
Accessibility Features
|
|
622
644
|
</h2>
|
|
623
645
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
624
|
-
<div className="!space-y-4 rounded-lg border
|
|
625
|
-
<h3 className="text-lg font-semibold
|
|
646
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
647
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
626
648
|
✅ Built-in Features
|
|
627
649
|
</h3>
|
|
628
|
-
<ul className="!space-y-2 text-sm
|
|
629
|
-
<li className="
|
|
650
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
651
|
+
<li className="text-fm-secondary!">
|
|
630
652
|
Uses Radix UI AccessibleIcon wrapper
|
|
631
653
|
</li>
|
|
632
|
-
<li className="
|
|
654
|
+
<li className="text-fm-secondary!">
|
|
633
655
|
Provides screen reader label "Store coin icon"
|
|
634
656
|
</li>
|
|
635
|
-
<li className="
|
|
657
|
+
<li className="text-fm-secondary!">
|
|
636
658
|
Supports keyboard navigation when interactive
|
|
637
659
|
</li>
|
|
638
|
-
<li className="
|
|
660
|
+
<li className="text-fm-secondary!">
|
|
639
661
|
Maintains proper color contrast ratios
|
|
640
662
|
</li>
|
|
641
|
-
<li className="
|
|
663
|
+
<li className="text-fm-secondary!">
|
|
642
664
|
Scales with user's font size preferences
|
|
643
665
|
</li>
|
|
644
666
|
</ul>
|
|
645
667
|
</div>
|
|
646
668
|
|
|
647
|
-
<div className="!space-y-4 rounded-lg border
|
|
648
|
-
<h3 className="text-lg font-semibold
|
|
669
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
670
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
649
671
|
💡 Best Practices
|
|
650
672
|
</h3>
|
|
651
|
-
<ul className="!space-y-2 text-sm
|
|
652
|
-
<li className="
|
|
673
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
674
|
+
<li className="text-fm-secondary!">
|
|
653
675
|
Always pair with descriptive text for transactions
|
|
654
676
|
</li>
|
|
655
|
-
<li className="
|
|
677
|
+
<li className="text-fm-secondary!">
|
|
656
678
|
Use clear coin amounts and pricing
|
|
657
679
|
</li>
|
|
658
|
-
<li className="
|
|
680
|
+
<li className="text-fm-secondary!">
|
|
659
681
|
Ensure sufficient spacing around the icon
|
|
660
682
|
</li>
|
|
661
|
-
<li className="
|
|
683
|
+
<li className="text-fm-secondary!">
|
|
662
684
|
Add focus states for interactive elements
|
|
663
685
|
</li>
|
|
664
|
-
<li className="
|
|
686
|
+
<li className="text-fm-secondary!">
|
|
665
687
|
Consider currency context and regional differences
|
|
666
688
|
</li>
|
|
667
689
|
</ul>
|
|
668
690
|
</div>
|
|
669
691
|
</div>
|
|
670
692
|
|
|
671
|
-
<div className="rounded-lg border
|
|
672
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
693
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
694
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
673
695
|
Custom Accessibility Label
|
|
674
696
|
</h3>
|
|
675
697
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
676
|
-
<div className="rounded-lg
|
|
677
|
-
<pre className="overflow-x-auto text-sm
|
|
698
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
699
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
678
700
|
{`// Custom implementation with specific label
|
|
679
701
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
680
702
|
|
|
@@ -694,14 +716,14 @@ function CustomStoreCoinIcon({ label = "Store coin", ...props }) {
|
|
|
694
716
|
</pre>
|
|
695
717
|
</div>
|
|
696
718
|
<div className="!space-y-4">
|
|
697
|
-
<p className="text-
|
|
719
|
+
<p className="text-fm-secondary! text-sm">
|
|
698
720
|
For specific contexts, you can wrap the StoreCoinIcon
|
|
699
721
|
with a custom AccessibleIcon component that provides
|
|
700
722
|
more descriptive labels for in-app purchases and virtual
|
|
701
723
|
currency.
|
|
702
724
|
</p>
|
|
703
|
-
<div className="
|
|
704
|
-
<div className="flex items-center gap-2 text-sm
|
|
725
|
+
<div className="border-fm-icon-warning/20 bg-fm-icon-warning/10 rounded-lg border p-4">
|
|
726
|
+
<div className="text-fm-icon-warning flex items-center gap-2 text-sm">
|
|
705
727
|
<StoreCoinIcon className="h-4 w-4" />
|
|
706
728
|
<span>
|
|
707
729
|
This approach gives screen readers more context
|
|
@@ -715,44 +737,52 @@ function CustomStoreCoinIcon({ label = "Store coin", ...props }) {
|
|
|
715
737
|
|
|
716
738
|
{/* Related Icons */}
|
|
717
739
|
<div className="!space-y-8">
|
|
718
|
-
<h2 className="text-center text-3xl font-bold
|
|
740
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
719
741
|
Related Icons
|
|
720
742
|
</h2>
|
|
721
743
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
722
|
-
<div className="!space-y-3 rounded-lg border
|
|
723
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
744
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
745
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
724
746
|
<span className="text-2xl">💰</span>
|
|
725
747
|
</div>
|
|
726
748
|
<div>
|
|
727
|
-
<div className="font-medium
|
|
728
|
-
|
|
749
|
+
<div className="text-fm-icon-active font-medium">
|
|
750
|
+
MoneyIcon
|
|
751
|
+
</div>
|
|
752
|
+
<div className="text-fm-tertiary text-xs">Currency</div>
|
|
729
753
|
</div>
|
|
730
754
|
</div>
|
|
731
|
-
<div className="!space-y-3 rounded-lg border
|
|
732
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
755
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
756
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
733
757
|
<span className="text-2xl">🛒</span>
|
|
734
758
|
</div>
|
|
735
759
|
<div>
|
|
736
|
-
<div className="font-medium
|
|
737
|
-
|
|
760
|
+
<div className="text-fm-icon-active font-medium">
|
|
761
|
+
ShopIcon
|
|
762
|
+
</div>
|
|
763
|
+
<div className="text-fm-tertiary text-xs">Store</div>
|
|
738
764
|
</div>
|
|
739
765
|
</div>
|
|
740
|
-
<div className="!space-y-3 rounded-lg border
|
|
741
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
766
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
767
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
742
768
|
<span className="text-2xl">💳</span>
|
|
743
769
|
</div>
|
|
744
770
|
<div>
|
|
745
|
-
<div className="font-medium
|
|
746
|
-
|
|
771
|
+
<div className="text-fm-icon-active font-medium">
|
|
772
|
+
PaymentIcon
|
|
773
|
+
</div>
|
|
774
|
+
<div className="text-fm-tertiary text-xs">Payment</div>
|
|
747
775
|
</div>
|
|
748
776
|
</div>
|
|
749
|
-
<div className="!space-y-3 rounded-lg border
|
|
750
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
777
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
778
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
751
779
|
<span className="text-2xl">🎁</span>
|
|
752
780
|
</div>
|
|
753
781
|
<div>
|
|
754
|
-
<div className="font-medium
|
|
755
|
-
|
|
782
|
+
<div className="text-fm-icon-active font-medium">
|
|
783
|
+
RewardIcon
|
|
784
|
+
</div>
|
|
785
|
+
<div className="text-fm-tertiary text-xs">Rewards</div>
|
|
756
786
|
</div>
|
|
757
787
|
</div>
|
|
758
788
|
</div>
|
|
@@ -760,14 +790,14 @@ function CustomStoreCoinIcon({ label = "Store coin", ...props }) {
|
|
|
760
790
|
</div>
|
|
761
791
|
|
|
762
792
|
{/* Footer */}
|
|
763
|
-
<div className="border-
|
|
793
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
764
794
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
765
795
|
<div className="!space-y-4 text-center">
|
|
766
|
-
<p className="
|
|
796
|
+
<p className="text-fm-tertiary!">
|
|
767
797
|
StoreCoinIcon is part of the Aural UI icon library, built
|
|
768
798
|
with accessibility and virtual economy clarity in mind.
|
|
769
799
|
</p>
|
|
770
|
-
<p className="text-
|
|
800
|
+
<p className="text-fm-placeholder! text-sm">
|
|
771
801
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
772
802
|
compatibility and follow WCAG guidelines.
|
|
773
803
|
</p>
|
|
@@ -808,8 +838,8 @@ const storyParameters = {
|
|
|
808
838
|
backgrounds: {
|
|
809
839
|
default: "dark",
|
|
810
840
|
values: [
|
|
811
|
-
{ name: "dark", value: "
|
|
812
|
-
{ name: "darker", value: "
|
|
841
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
842
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
813
843
|
],
|
|
814
844
|
},
|
|
815
845
|
}
|
|
@@ -823,8 +853,8 @@ export const Default: Story = {
|
|
|
823
853
|
},
|
|
824
854
|
parameters: storyParameters,
|
|
825
855
|
render: (args) => (
|
|
826
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
827
|
-
<div className="rounded-lg border
|
|
856
|
+
<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">
|
|
857
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
828
858
|
<StoreCoinIcon {...args} />
|
|
829
859
|
</div>
|
|
830
860
|
</div>
|
|
@@ -842,42 +872,42 @@ export const SizeVariations: Story = {
|
|
|
842
872
|
},
|
|
843
873
|
},
|
|
844
874
|
render: () => (
|
|
845
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
875
|
+
<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">
|
|
846
876
|
<div className="text-center">
|
|
847
|
-
<div className="!mx-auto mb-2 rounded
|
|
877
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
848
878
|
<StoreCoinIcon className="h-3 w-3" />
|
|
849
879
|
</div>
|
|
850
|
-
<span className="text-
|
|
880
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
851
881
|
</div>
|
|
852
882
|
<div className="text-center">
|
|
853
|
-
<div className="!mx-auto mb-2 rounded
|
|
883
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
854
884
|
<StoreCoinIcon className="h-4 w-4" />
|
|
855
885
|
</div>
|
|
856
|
-
<span className="text-
|
|
886
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
857
887
|
</div>
|
|
858
888
|
<div className="text-center">
|
|
859
|
-
<div className="!mx-auto mb-2 rounded
|
|
889
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
860
890
|
<StoreCoinIcon className="h-5 w-5" />
|
|
861
891
|
</div>
|
|
862
|
-
<span className="text-
|
|
892
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
863
893
|
</div>
|
|
864
894
|
<div className="text-center">
|
|
865
|
-
<div className="!mx-auto mb-2 rounded
|
|
895
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
866
896
|
<StoreCoinIcon className="h-6 w-6" />
|
|
867
897
|
</div>
|
|
868
|
-
<span className="text-
|
|
898
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
869
899
|
</div>
|
|
870
900
|
<div className="text-center">
|
|
871
|
-
<div className="!mx-auto mb-2 rounded
|
|
901
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
872
902
|
<StoreCoinIcon className="h-8 w-8" />
|
|
873
903
|
</div>
|
|
874
|
-
<span className="text-
|
|
904
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
875
905
|
</div>
|
|
876
906
|
<div className="text-center">
|
|
877
|
-
<div className="!mx-auto mb-2 rounded
|
|
907
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-3">
|
|
878
908
|
<StoreCoinIcon className="h-12 w-12" />
|
|
879
909
|
</div>
|
|
880
|
-
<span className="text-
|
|
910
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
881
911
|
</div>
|
|
882
912
|
</div>
|
|
883
913
|
),
|
|
@@ -894,34 +924,42 @@ export const ColorVariations: Story = {
|
|
|
894
924
|
},
|
|
895
925
|
},
|
|
896
926
|
render: () => (
|
|
897
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
927
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-linear-to-br p-8 md:grid-cols-4">
|
|
898
928
|
<div className="text-center">
|
|
899
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg
|
|
929
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
|
|
900
930
|
<StoreCoinIcon className="h-10 w-10" />
|
|
901
931
|
</div>
|
|
902
|
-
<div className="text-sm font-medium
|
|
903
|
-
|
|
932
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
933
|
+
White Background
|
|
934
|
+
</div>
|
|
935
|
+
<div className="text-fm-tertiary text-xs">Recommended</div>
|
|
904
936
|
</div>
|
|
905
937
|
<div className="text-center">
|
|
906
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg
|
|
938
|
+
<div className="bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
|
|
907
939
|
<StoreCoinIcon className="h-10 w-10" />
|
|
908
940
|
</div>
|
|
909
|
-
<div className="text-sm font-medium
|
|
910
|
-
|
|
941
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
942
|
+
Light Background
|
|
943
|
+
</div>
|
|
944
|
+
<div className="text-fm-placeholder text-xs">Good contrast</div>
|
|
911
945
|
</div>
|
|
912
946
|
<div className="text-center">
|
|
913
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg
|
|
947
|
+
<div className="bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
|
|
914
948
|
<StoreCoinIcon className="h-10 w-10" />
|
|
915
949
|
</div>
|
|
916
|
-
<div className="text-sm font-medium
|
|
917
|
-
|
|
950
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
951
|
+
Dark Background
|
|
952
|
+
</div>
|
|
953
|
+
<div className="text-fm-placeholder text-xs">Acceptable</div>
|
|
918
954
|
</div>
|
|
919
955
|
<div className="text-center">
|
|
920
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
956
|
+
<div className="border-fm-divider-primary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border bg-transparent">
|
|
921
957
|
<StoreCoinIcon className="h-10 w-10" />
|
|
922
958
|
</div>
|
|
923
|
-
<div className="text-sm font-medium
|
|
924
|
-
|
|
959
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
960
|
+
Transparent
|
|
961
|
+
</div>
|
|
962
|
+
<div className="text-fm-tertiary text-xs">Original colors</div>
|
|
925
963
|
</div>
|
|
926
964
|
</div>
|
|
927
965
|
),
|
|
@@ -938,16 +976,18 @@ export const UsageExamples: Story = {
|
|
|
938
976
|
},
|
|
939
977
|
},
|
|
940
978
|
render: () => (
|
|
941
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
979
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
942
980
|
{/* Purchase Actions */}
|
|
943
981
|
<div className="!space-y-2">
|
|
944
|
-
<h3 className="text-sm font-medium
|
|
982
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
983
|
+
Purchase Actions
|
|
984
|
+
</h3>
|
|
945
985
|
<div className="flex gap-4">
|
|
946
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
986
|
+
<button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
947
987
|
<StoreCoinIcon className="h-4 w-4" />
|
|
948
988
|
Buy Coins
|
|
949
989
|
</button>
|
|
950
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
990
|
+
<button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 flex items-center gap-2 rounded-lg border px-3 py-2 transition-colors">
|
|
951
991
|
<StoreCoinIcon className="h-4 w-4" />
|
|
952
992
|
Earn More
|
|
953
993
|
</button>
|
|
@@ -956,23 +996,27 @@ export const UsageExamples: Story = {
|
|
|
956
996
|
|
|
957
997
|
{/* Balance Display */}
|
|
958
998
|
<div className="!space-y-2">
|
|
959
|
-
<h3 className="text-sm font-medium
|
|
960
|
-
|
|
999
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1000
|
+
Balance Display
|
|
1001
|
+
</h3>
|
|
1002
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
961
1003
|
<div className="flex items-center justify-between">
|
|
962
1004
|
<div className="flex items-center gap-3">
|
|
963
|
-
<div className="flex h-10 w-10 items-center justify-center rounded-lg
|
|
1005
|
+
<div className="bg-fm-icon-warning/20 flex h-10 w-10 items-center justify-center rounded-lg">
|
|
964
1006
|
<StoreCoinIcon className="h-5 w-5" />
|
|
965
1007
|
</div>
|
|
966
1008
|
<div>
|
|
967
|
-
<div className="text-sm font-medium
|
|
1009
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
968
1010
|
Current Balance
|
|
969
1011
|
</div>
|
|
970
|
-
<div className="text-
|
|
1012
|
+
<div className="text-fm-tertiary text-xs">Store Credits</div>
|
|
971
1013
|
</div>
|
|
972
1014
|
</div>
|
|
973
1015
|
<div className="text-right">
|
|
974
|
-
<div className="text-lg font-bold
|
|
975
|
-
|
|
1016
|
+
<div className="text-fm-icon-warning text-lg font-bold">
|
|
1017
|
+
2,450
|
|
1018
|
+
</div>
|
|
1019
|
+
<div className="text-fm-tertiary text-xs">coins</div>
|
|
976
1020
|
</div>
|
|
977
1021
|
</div>
|
|
978
1022
|
</div>
|
|
@@ -980,22 +1024,30 @@ export const UsageExamples: Story = {
|
|
|
980
1024
|
|
|
981
1025
|
{/* Transaction History */}
|
|
982
1026
|
<div className="!space-y-2">
|
|
983
|
-
<h3 className="text-sm font-medium
|
|
984
|
-
|
|
1027
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1028
|
+
Transaction History
|
|
1029
|
+
</h3>
|
|
1030
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4">
|
|
985
1031
|
<div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
|
|
986
1032
|
<StoreCoinIcon className="h-4 w-4" />
|
|
987
|
-
<span className="flex-1
|
|
988
|
-
|
|
1033
|
+
<span className="text-fm-icon-active flex-1">
|
|
1034
|
+
Purchased Premium Pack
|
|
1035
|
+
</span>
|
|
1036
|
+
<span className="text-fm-icon-positive">+500</span>
|
|
989
1037
|
</div>
|
|
990
1038
|
<div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
|
|
991
1039
|
<StoreCoinIcon className="h-4 w-4" />
|
|
992
|
-
<span className="flex-1
|
|
993
|
-
|
|
1040
|
+
<span className="text-fm-icon-active flex-1">
|
|
1041
|
+
Daily Login Bonus
|
|
1042
|
+
</span>
|
|
1043
|
+
<span className="text-fm-icon-positive">+50</span>
|
|
994
1044
|
</div>
|
|
995
1045
|
<div className="flex items-center gap-3 rounded px-3 py-2 text-sm">
|
|
996
1046
|
<StoreCoinIcon className="h-4 w-4" />
|
|
997
|
-
<span className="flex-1
|
|
998
|
-
|
|
1047
|
+
<span className="text-fm-icon-active flex-1">
|
|
1048
|
+
Unlocked Special Item
|
|
1049
|
+
</span>
|
|
1050
|
+
<span className="text-fm-icon-negative">-200</span>
|
|
999
1051
|
</div>
|
|
1000
1052
|
</div>
|
|
1001
1053
|
</div>
|
|
@@ -1019,8 +1071,8 @@ export const Playground: Story = {
|
|
|
1019
1071
|
className: "",
|
|
1020
1072
|
},
|
|
1021
1073
|
render: (args) => (
|
|
1022
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1023
|
-
<div className="rounded-lg border
|
|
1074
|
+
<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">
|
|
1075
|
+
<div className="border-fm-divider-secondary bg-fm-surface-contrast rounded-lg border p-8">
|
|
1024
1076
|
<StoreCoinIcon {...args} />
|
|
1025
1077
|
</div>
|
|
1026
1078
|
</div>
|