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 ArrowRightUpIcon> = {
|
|
|
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 ArrowRightUpIcon> = {
|
|
|
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="bg-fm-surface-primary min-h-screen">
|
|
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-secondary-500/10 to-fm-icon-info/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
|
|
90
|
-
<ArrowRightUpIcon className="h-12 w-12
|
|
89
|
+
<div className="border-fm-secondary-500/30 from-fm-secondary-500/20 to-fm-secondary-500/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
90
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
|
-
<h1 className="text-5xl font-bold
|
|
92
|
+
<h1 className="text-fm-icon-active! text-5xl font-bold">
|
|
93
93
|
ArrowRightUpIcon
|
|
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 diagonal arrow icon indicating external links, expansions,
|
|
97
97
|
and upward navigation. Perfect for external links, opening
|
|
98
98
|
content in new windows, and showing growth or progression.
|
|
@@ -101,28 +101,28 @@ const meta: Meta<typeof ArrowRightUpIcon> = {
|
|
|
101
101
|
{/* Stats */}
|
|
102
102
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
103
103
|
<div className="text-center">
|
|
104
|
-
<div className="text-3xl font-bold
|
|
104
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
105
105
|
External
|
|
106
106
|
</div>
|
|
107
|
-
<div className="text-
|
|
107
|
+
<div className="text-fm-tertiary text-sm">
|
|
108
108
|
Link indication
|
|
109
109
|
</div>
|
|
110
110
|
</div>
|
|
111
|
-
<div className="h-8 w-px
|
|
111
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
112
112
|
<div className="text-center">
|
|
113
|
-
<div className="text-3xl font-bold
|
|
113
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
114
114
|
Growth
|
|
115
115
|
</div>
|
|
116
|
-
<div className="text-
|
|
116
|
+
<div className="text-fm-tertiary text-sm">
|
|
117
117
|
Upward progression
|
|
118
118
|
</div>
|
|
119
119
|
</div>
|
|
120
|
-
<div className="h-8 w-px
|
|
120
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
121
121
|
<div className="text-center">
|
|
122
|
-
<div className="text-3xl font-bold
|
|
122
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
123
123
|
Expansion
|
|
124
124
|
</div>
|
|
125
|
-
<div className="text-
|
|
125
|
+
<div className="text-fm-tertiary text-sm">
|
|
126
126
|
Content opening
|
|
127
127
|
</div>
|
|
128
128
|
</div>
|
|
@@ -135,16 +135,16 @@ const meta: Meta<typeof ArrowRightUpIcon> = {
|
|
|
135
135
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
136
136
|
{/* Quick Usage */}
|
|
137
137
|
<div className="!space-y-8">
|
|
138
|
-
<h2 className="text-center text-3xl font-bold
|
|
138
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
139
139
|
Quick Start
|
|
140
140
|
</h2>
|
|
141
141
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
142
142
|
<div className="!space-y-4">
|
|
143
|
-
<h3 className="text-xl font-semibold
|
|
143
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
144
144
|
Basic Usage
|
|
145
145
|
</h3>
|
|
146
|
-
<div className="rounded-lg
|
|
147
|
-
<pre className="overflow-x-auto text-sm
|
|
146
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
147
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
148
148
|
{`import { ArrowRightUpIcon } from "@icons/arrow-right-up-icon"
|
|
149
149
|
|
|
150
150
|
function ExternalLink() {
|
|
@@ -160,16 +160,16 @@ function ExternalLink() {
|
|
|
160
160
|
</div>
|
|
161
161
|
|
|
162
162
|
<div className="!space-y-4">
|
|
163
|
-
<h3 className="text-xl font-semibold
|
|
163
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
164
164
|
Live Preview
|
|
165
165
|
</h3>
|
|
166
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
166
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
167
167
|
<a
|
|
168
168
|
href="#"
|
|
169
|
-
className="flex items-center gap-2 rounded-lg border
|
|
169
|
+
className="border-fm-secondary-500/20 bg-fm-secondary-500/10 text-fm-icon-active hover:bg-fm-secondary-500/20 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors"
|
|
170
170
|
>
|
|
171
171
|
<span>Visit our blog</span>
|
|
172
|
-
<ArrowRightUpIcon className="h-4 w-4
|
|
172
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 h-4 w-4 transition-transform hover:translate-x-0.5 hover:-translate-y-0.5" />
|
|
173
173
|
</a>
|
|
174
174
|
</div>
|
|
175
175
|
</div>
|
|
@@ -178,94 +178,102 @@ function ExternalLink() {
|
|
|
178
178
|
|
|
179
179
|
{/* Props Documentation */}
|
|
180
180
|
<div className="!space-y-8">
|
|
181
|
-
<h2 className="text-center text-3xl font-bold
|
|
181
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
182
182
|
Props & Configuration
|
|
183
183
|
</h2>
|
|
184
184
|
|
|
185
|
-
<div className="overflow-hidden rounded-lg border
|
|
186
|
-
<div className="bg-
|
|
187
|
-
<h3 className="text-xl font-semibold
|
|
185
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
186
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
187
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
188
|
+
Props
|
|
189
|
+
</h3>
|
|
188
190
|
</div>
|
|
189
191
|
<table className="!my-0 w-full">
|
|
190
|
-
<thead className="bg-
|
|
191
|
-
<tr className="border-
|
|
192
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
192
|
+
<thead className="bg-fm-surface-secondary">
|
|
193
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
194
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
193
195
|
Prop
|
|
194
196
|
</th>
|
|
195
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
197
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
196
198
|
Type
|
|
197
199
|
</th>
|
|
198
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
200
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
199
201
|
Default
|
|
200
202
|
</th>
|
|
201
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
203
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
202
204
|
Description
|
|
203
205
|
</th>
|
|
204
206
|
</tr>
|
|
205
207
|
</thead>
|
|
206
208
|
<tbody>
|
|
207
209
|
{" "}
|
|
208
|
-
<tr className="
|
|
209
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
210
|
+
<tr className="bg-fm-surface-secondary!">
|
|
211
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
210
212
|
withAccessibility
|
|
211
213
|
</td>
|
|
212
|
-
<td className="px-6 py-4 text-sm
|
|
214
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
213
215
|
boolean
|
|
214
216
|
</td>
|
|
215
|
-
<td className="px-6 py-4 text-sm
|
|
217
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
216
218
|
true
|
|
217
219
|
</td>
|
|
218
|
-
<td className="px-6 py-4 text-sm
|
|
220
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
219
221
|
Whether to wrap the icon with accessibility feature
|
|
220
222
|
</td>
|
|
221
223
|
</tr>
|
|
222
|
-
<tr className="border-
|
|
223
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
224
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
225
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
224
226
|
height
|
|
225
227
|
</td>
|
|
226
|
-
<td className="px-6 py-4 text-sm
|
|
228
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
227
229
|
number | string
|
|
228
230
|
</td>
|
|
229
|
-
<td className="px-6 py-4 text-sm
|
|
230
|
-
|
|
231
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
232
|
+
24
|
|
233
|
+
</td>
|
|
234
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
231
235
|
Height of the icon in pixels
|
|
232
236
|
</td>
|
|
233
237
|
</tr>
|
|
234
|
-
<tr className="border-
|
|
235
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
238
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
239
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
236
240
|
color
|
|
237
241
|
</td>
|
|
238
|
-
<td className="px-6 py-4 text-sm
|
|
242
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
239
243
|
string
|
|
240
244
|
</td>
|
|
241
|
-
<td className="px-6 py-4 text-sm
|
|
245
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
242
246
|
currentColor
|
|
243
247
|
</td>
|
|
244
|
-
<td className="px-6 py-4 text-sm
|
|
248
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
245
249
|
Color of the icon
|
|
246
250
|
</td>
|
|
247
251
|
</tr>
|
|
248
|
-
<tr className="border-
|
|
249
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
252
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
253
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
250
254
|
className
|
|
251
255
|
</td>
|
|
252
|
-
<td className="px-6 py-4 text-sm
|
|
256
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
253
257
|
string
|
|
254
258
|
</td>
|
|
255
|
-
<td className="px-6 py-4 text-sm
|
|
256
|
-
|
|
259
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
260
|
+
-
|
|
261
|
+
</td>
|
|
262
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
257
263
|
CSS classes for styling
|
|
258
264
|
</td>
|
|
259
265
|
</tr>
|
|
260
|
-
<tr className="
|
|
261
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
266
|
+
<tr className="bg-fm-surface-secondary!">
|
|
267
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
262
268
|
...svgProps
|
|
263
269
|
</td>
|
|
264
|
-
<td className="px-6 py-4 text-sm
|
|
270
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
265
271
|
SVGProps
|
|
266
272
|
</td>
|
|
267
|
-
<td className="px-6 py-4 text-sm
|
|
268
|
-
|
|
273
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
274
|
+
-
|
|
275
|
+
</td>
|
|
276
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
269
277
|
All standard SVG element props
|
|
270
278
|
</td>
|
|
271
279
|
</tr>
|
|
@@ -276,50 +284,62 @@ function ExternalLink() {
|
|
|
276
284
|
|
|
277
285
|
{/* Size Variations */}
|
|
278
286
|
<div className="!space-y-8">
|
|
279
|
-
<h2 className="text-center text-3xl font-bold
|
|
287
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
280
288
|
Size Variations
|
|
281
289
|
</h2>
|
|
282
|
-
<div className="rounded-lg border
|
|
290
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
283
291
|
<div className="!space-y-6">
|
|
284
292
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
285
293
|
<div className="!space-y-4">
|
|
286
|
-
<h3 className="text-lg font-semibold
|
|
294
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
287
295
|
Standard Sizes
|
|
288
296
|
</h3>
|
|
289
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
297
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
290
298
|
<div className="text-center">
|
|
291
|
-
<ArrowRightUpIcon className="!mx-auto mb-2 h-3 w-3
|
|
292
|
-
<span className="text-
|
|
299
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
|
|
300
|
+
<span className="text-fm-tertiary text-xs">
|
|
301
|
+
12px
|
|
302
|
+
</span>
|
|
293
303
|
</div>
|
|
294
304
|
<div className="text-center">
|
|
295
|
-
<ArrowRightUpIcon className="!mx-auto mb-2 h-4 w-4
|
|
296
|
-
<span className="text-
|
|
305
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
|
|
306
|
+
<span className="text-fm-tertiary text-xs">
|
|
307
|
+
16px
|
|
308
|
+
</span>
|
|
297
309
|
</div>
|
|
298
310
|
<div className="text-center">
|
|
299
|
-
<ArrowRightUpIcon className="!mx-auto mb-2 h-5 w-5
|
|
300
|
-
<span className="text-
|
|
311
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
|
|
312
|
+
<span className="text-fm-tertiary text-xs">
|
|
313
|
+
20px
|
|
314
|
+
</span>
|
|
301
315
|
</div>
|
|
302
316
|
<div className="text-center">
|
|
303
|
-
<ArrowRightUpIcon className="!mx-auto mb-2 h-6 w-6
|
|
304
|
-
<span className="text-
|
|
317
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
|
|
318
|
+
<span className="text-fm-tertiary text-xs">
|
|
319
|
+
24px
|
|
320
|
+
</span>
|
|
305
321
|
</div>
|
|
306
322
|
<div className="text-center">
|
|
307
|
-
<ArrowRightUpIcon className="!mx-auto mb-2 h-8 w-8
|
|
308
|
-
<span className="text-
|
|
323
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
|
|
324
|
+
<span className="text-fm-tertiary text-xs">
|
|
325
|
+
32px
|
|
326
|
+
</span>
|
|
309
327
|
</div>
|
|
310
328
|
<div className="text-center">
|
|
311
|
-
<ArrowRightUpIcon className="!mx-auto mb-2 h-12 w-12
|
|
312
|
-
<span className="text-
|
|
329
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
|
|
330
|
+
<span className="text-fm-tertiary text-xs">
|
|
331
|
+
48px
|
|
332
|
+
</span>
|
|
313
333
|
</div>
|
|
314
334
|
</div>
|
|
315
335
|
</div>
|
|
316
336
|
|
|
317
337
|
<div className="!space-y-4">
|
|
318
|
-
<h3 className="text-lg font-semibold
|
|
338
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
319
339
|
Code Example
|
|
320
340
|
</h3>
|
|
321
|
-
<div className="rounded-lg
|
|
322
|
-
<pre className="overflow-x-auto text-sm
|
|
341
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
342
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
323
343
|
{`// Small (16px)
|
|
324
344
|
<ArrowRightUpIcon className="h-4 w-4" />
|
|
325
345
|
|
|
@@ -341,56 +361,56 @@ function ExternalLink() {
|
|
|
341
361
|
|
|
342
362
|
{/* Color Variations */}
|
|
343
363
|
<div className="!space-y-8">
|
|
344
|
-
<h2 className="text-center text-3xl font-bold
|
|
364
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
345
365
|
Color Variations
|
|
346
366
|
</h2>
|
|
347
367
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
348
368
|
<div className="!space-y-4">
|
|
349
|
-
<h3 className="text-lg font-semibold
|
|
369
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
350
370
|
Contextual Colors
|
|
351
371
|
</h3>
|
|
352
|
-
<div className="!space-y-4 rounded-lg border
|
|
372
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
353
373
|
<div className="flex items-center gap-4">
|
|
354
|
-
<ArrowRightUpIcon className="h-6 w-6
|
|
374
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
355
375
|
<div>
|
|
356
|
-
<div className="text-sm font-medium
|
|
376
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
357
377
|
Primary
|
|
358
378
|
</div>
|
|
359
|
-
<div className="text-
|
|
360
|
-
text-
|
|
379
|
+
<div className="text-fm-tertiary text-xs">
|
|
380
|
+
text-fm-secondary-600
|
|
361
381
|
</div>
|
|
362
382
|
</div>
|
|
363
383
|
</div>
|
|
364
384
|
<div className="flex items-center gap-4">
|
|
365
|
-
<ArrowRightUpIcon className="h-6 w-6
|
|
385
|
+
<ArrowRightUpIcon className="text-fm-icon-info h-6 w-6" />
|
|
366
386
|
<div>
|
|
367
|
-
<div className="text-sm font-medium
|
|
387
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
368
388
|
External Link
|
|
369
389
|
</div>
|
|
370
|
-
<div className="text-
|
|
371
|
-
text-
|
|
390
|
+
<div className="text-fm-tertiary text-xs">
|
|
391
|
+
text-fm-icon-info
|
|
372
392
|
</div>
|
|
373
393
|
</div>
|
|
374
394
|
</div>
|
|
375
395
|
<div className="flex items-center gap-4">
|
|
376
|
-
<ArrowRightUpIcon className="h-6 w-6
|
|
396
|
+
<ArrowRightUpIcon className="text-fm-icon-positive h-6 w-6" />
|
|
377
397
|
<div>
|
|
378
|
-
<div className="text-sm font-medium
|
|
398
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
379
399
|
Growth
|
|
380
400
|
</div>
|
|
381
|
-
<div className="text-
|
|
382
|
-
text-
|
|
401
|
+
<div className="text-fm-tertiary text-xs">
|
|
402
|
+
text-fm-icon-positive
|
|
383
403
|
</div>
|
|
384
404
|
</div>
|
|
385
405
|
</div>
|
|
386
406
|
<div className="flex items-center gap-4">
|
|
387
|
-
<ArrowRightUpIcon className="h-6 w-6
|
|
407
|
+
<ArrowRightUpIcon className="text-fm-placeholder h-6 w-6" />
|
|
388
408
|
<div>
|
|
389
|
-
<div className="text-sm font-medium
|
|
409
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
390
410
|
Neutral
|
|
391
411
|
</div>
|
|
392
|
-
<div className="text-
|
|
393
|
-
text-
|
|
412
|
+
<div className="text-fm-tertiary text-xs">
|
|
413
|
+
text-fm-placeholder
|
|
394
414
|
</div>
|
|
395
415
|
</div>
|
|
396
416
|
</div>
|
|
@@ -398,11 +418,11 @@ function ExternalLink() {
|
|
|
398
418
|
</div>
|
|
399
419
|
|
|
400
420
|
<div className="!space-y-4">
|
|
401
|
-
<h3 className="text-lg font-semibold
|
|
421
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
402
422
|
Custom Colors
|
|
403
423
|
</h3>
|
|
404
|
-
<div className="rounded-lg
|
|
405
|
-
<pre className="overflow-x-auto text-sm
|
|
424
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
425
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
406
426
|
{`// Using Tailwind classes
|
|
407
427
|
<ArrowRightUpIcon className="h-6 w-6 text-violet-400" />
|
|
408
428
|
<ArrowRightUpIcon className="h-6 w-6 text-blue-500" />
|
|
@@ -427,21 +447,21 @@ function ExternalLink() {
|
|
|
427
447
|
|
|
428
448
|
{/* Usage Examples */}
|
|
429
449
|
<div className="!space-y-8">
|
|
430
|
-
<h2 className="text-center text-3xl font-bold
|
|
450
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
431
451
|
Usage Examples
|
|
432
452
|
</h2>
|
|
433
453
|
|
|
434
454
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
435
455
|
{/* External Links */}
|
|
436
456
|
<div className="!space-y-4">
|
|
437
|
-
<h3 className="text-lg font-semibold
|
|
457
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
438
458
|
External Links
|
|
439
459
|
</h3>
|
|
440
460
|
<div className="!space-y-4">
|
|
441
461
|
<div className="!space-y-3">
|
|
442
462
|
<a
|
|
443
463
|
href="#"
|
|
444
|
-
className="inline-flex items-center gap-2
|
|
464
|
+
className="text-fm-icon-info hover:text-fm-icon-info inline-flex items-center gap-2 transition-colors"
|
|
445
465
|
>
|
|
446
466
|
<span>Visit our documentation</span>
|
|
447
467
|
<ArrowRightUpIcon className="h-4 w-4 transition-transform hover:translate-x-0.5 hover:-translate-y-0.5" />
|
|
@@ -449,7 +469,7 @@ function ExternalLink() {
|
|
|
449
469
|
<br />
|
|
450
470
|
<a
|
|
451
471
|
href="#"
|
|
452
|
-
className="inline-flex items-center gap-2
|
|
472
|
+
className="text-fm-icon-info hover:text-fm-icon-info inline-flex items-center gap-2 transition-colors"
|
|
453
473
|
>
|
|
454
474
|
<span>Join our community</span>
|
|
455
475
|
<ArrowRightUpIcon className="h-4 w-4 transition-transform hover:translate-x-0.5 hover:-translate-y-0.5" />
|
|
@@ -457,14 +477,14 @@ function ExternalLink() {
|
|
|
457
477
|
<br />
|
|
458
478
|
<a
|
|
459
479
|
href="#"
|
|
460
|
-
className="inline-flex items-center gap-2
|
|
480
|
+
className="text-fm-icon-info hover:text-fm-icon-info inline-flex items-center gap-2 transition-colors"
|
|
461
481
|
>
|
|
462
482
|
<span>Read our blog</span>
|
|
463
483
|
<ArrowRightUpIcon className="h-4 w-4 transition-transform hover:translate-x-0.5 hover:-translate-y-0.5" />
|
|
464
484
|
</a>
|
|
465
485
|
</div>
|
|
466
|
-
<div className="rounded-lg
|
|
467
|
-
<pre className="overflow-x-auto text-sm
|
|
486
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
487
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
468
488
|
{`<a href="#" className="inline-flex items-center gap-2 text-blue-400 hover:text-blue-300 transition-colors">
|
|
469
489
|
<span>Visit our documentation</span>
|
|
470
490
|
<ArrowRightUpIcon className="h-4 w-4 transition-transform hover:translate-x-0.5 hover:-translate-y-0.5" />
|
|
@@ -476,27 +496,27 @@ function ExternalLink() {
|
|
|
476
496
|
|
|
477
497
|
{/* Card Actions */}
|
|
478
498
|
<div className="!space-y-4">
|
|
479
|
-
<h3 className="text-lg font-semibold
|
|
499
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
480
500
|
Card Actions
|
|
481
501
|
</h3>
|
|
482
502
|
<div className="!space-y-4">
|
|
483
|
-
<div className="rounded-lg border
|
|
503
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
484
504
|
<div className="!space-y-4">
|
|
485
505
|
<div>
|
|
486
|
-
<h4 className="font-medium
|
|
506
|
+
<h4 className="text-fm-icon-active! font-medium">
|
|
487
507
|
GitHub Repository
|
|
488
508
|
</h4>
|
|
489
|
-
<p className="text-
|
|
509
|
+
<p className="text-fm-tertiary! text-sm">
|
|
490
510
|
Open source UI component library
|
|
491
511
|
</p>
|
|
492
512
|
</div>
|
|
493
513
|
<div className="flex items-center justify-between">
|
|
494
|
-
<div className="flex items-center gap-2 text-sm
|
|
514
|
+
<div className="text-fm-secondary! flex items-center gap-2 text-sm">
|
|
495
515
|
<span>⭐ 1.2k stars</span>
|
|
496
516
|
</div>
|
|
497
517
|
<a
|
|
498
518
|
href="#"
|
|
499
|
-
className="flex items-center gap-2 rounded
|
|
519
|
+
className="bg-fm-secondary-500 text-fm-icon-active hover:bg-fm-secondary-500 flex items-center gap-2 rounded px-3 py-1.5 text-sm font-medium transition-colors"
|
|
500
520
|
>
|
|
501
521
|
View on GitHub
|
|
502
522
|
<ArrowRightUpIcon className="h-3 w-3" />
|
|
@@ -504,8 +524,8 @@ function ExternalLink() {
|
|
|
504
524
|
</div>
|
|
505
525
|
</div>
|
|
506
526
|
</div>
|
|
507
|
-
<div className="rounded-lg
|
|
508
|
-
<pre className="overflow-x-auto text-sm
|
|
527
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
528
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
509
529
|
{`<div className="rounded-lg border border-white/10 bg-white/5 p-6">
|
|
510
530
|
<div className="space-y-4">
|
|
511
531
|
<div>
|
|
@@ -530,40 +550,40 @@ function ExternalLink() {
|
|
|
530
550
|
|
|
531
551
|
{/* Growth Metrics */}
|
|
532
552
|
<div className="!space-y-4">
|
|
533
|
-
<h3 className="text-lg font-semibold
|
|
553
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
534
554
|
Growth Indicators
|
|
535
555
|
</h3>
|
|
536
556
|
<div className="!space-y-4">
|
|
537
557
|
<div className="grid grid-cols-2 gap-4">
|
|
538
|
-
<div className="rounded-lg border
|
|
558
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
539
559
|
<div className="flex items-center justify-between">
|
|
540
560
|
<div>
|
|
541
|
-
<div className="text-2xl font-bold
|
|
561
|
+
<div className="text-fm-icon-active! text-2xl font-bold">
|
|
542
562
|
24.5%
|
|
543
563
|
</div>
|
|
544
|
-
<div className="text-
|
|
564
|
+
<div className="text-fm-tertiary! text-sm">
|
|
545
565
|
Revenue Growth
|
|
546
566
|
</div>
|
|
547
567
|
</div>
|
|
548
|
-
<ArrowRightUpIcon className="h-6 w-6
|
|
568
|
+
<ArrowRightUpIcon className="text-fm-icon-positive h-6 w-6" />
|
|
549
569
|
</div>
|
|
550
570
|
</div>
|
|
551
|
-
<div className="rounded-lg border
|
|
571
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
552
572
|
<div className="flex items-center justify-between">
|
|
553
573
|
<div>
|
|
554
|
-
<div className="text-2xl font-bold
|
|
574
|
+
<div className="text-fm-icon-active! text-2xl font-bold">
|
|
555
575
|
156
|
|
556
576
|
</div>
|
|
557
|
-
<div className="text-
|
|
577
|
+
<div className="text-fm-tertiary! text-sm">
|
|
558
578
|
New Users
|
|
559
579
|
</div>
|
|
560
580
|
</div>
|
|
561
|
-
<ArrowRightUpIcon className="h-6 w-6
|
|
581
|
+
<ArrowRightUpIcon className="text-fm-icon-info h-6 w-6" />
|
|
562
582
|
</div>
|
|
563
583
|
</div>
|
|
564
584
|
</div>
|
|
565
|
-
<div className="rounded-lg
|
|
566
|
-
<pre className="overflow-x-auto text-sm
|
|
585
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
586
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
567
587
|
{`<div className="rounded-lg border border-white/10 bg-white/5 p-4">
|
|
568
588
|
<div className="flex items-center justify-between">
|
|
569
589
|
<div>
|
|
@@ -580,22 +600,22 @@ function ExternalLink() {
|
|
|
580
600
|
|
|
581
601
|
{/* Button Integration */}
|
|
582
602
|
<div className="!space-y-4">
|
|
583
|
-
<h3 className="text-lg font-semibold
|
|
603
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
584
604
|
Button Integration
|
|
585
605
|
</h3>
|
|
586
606
|
<div className="!space-y-4">
|
|
587
607
|
<div className="flex gap-4">
|
|
588
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
608
|
+
<button className="border-fm-secondary-500/30 bg-fm-secondary-500/20 text-fm-secondary-600 hover:bg-fm-secondary-500/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
589
609
|
<span>Learn More</span>
|
|
590
610
|
<ArrowRightUpIcon className="h-4 w-4" />
|
|
591
611
|
</button>
|
|
592
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
612
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
593
613
|
<span>Open Link</span>
|
|
594
614
|
<ArrowRightUpIcon className="h-4 w-4" />
|
|
595
615
|
</button>
|
|
596
616
|
</div>
|
|
597
|
-
<div className="rounded-lg
|
|
598
|
-
<pre className="overflow-x-auto text-sm
|
|
617
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
618
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
599
619
|
{`// Learn more button
|
|
600
620
|
<button className="flex items-center gap-2 bg-violet-500/20 border border-violet-500/30 px-4 py-2 rounded-lg">
|
|
601
621
|
<span>Learn More</span>
|
|
@@ -614,45 +634,49 @@ function ExternalLink() {
|
|
|
614
634
|
|
|
615
635
|
{/* Navigation Menu */}
|
|
616
636
|
<div className="!space-y-4">
|
|
617
|
-
<h3 className="text-lg font-semibold
|
|
637
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
618
638
|
Navigation Menu
|
|
619
639
|
</h3>
|
|
620
640
|
<div className="!space-y-4">
|
|
621
|
-
<nav className="rounded-lg border
|
|
641
|
+
<nav className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
622
642
|
<ul className="!list-none !space-y-3">
|
|
623
643
|
<li>
|
|
624
644
|
<a
|
|
625
645
|
href="#"
|
|
626
|
-
className="flex items-center justify-between rounded px-3 py-2 text-left transition-colors
|
|
646
|
+
className="hover:bg-fm-surface-secondary flex items-center justify-between rounded px-3 py-2 text-left transition-colors"
|
|
627
647
|
>
|
|
628
|
-
<span className="
|
|
629
|
-
|
|
648
|
+
<span className="text-fm-icon-active!">
|
|
649
|
+
Documentation
|
|
650
|
+
</span>
|
|
651
|
+
<ArrowRightUpIcon className="text-fm-placeholder h-4 w-4" />
|
|
630
652
|
</a>
|
|
631
653
|
</li>
|
|
632
654
|
<li>
|
|
633
655
|
<a
|
|
634
656
|
href="#"
|
|
635
|
-
className="flex items-center justify-between rounded px-3 py-2 text-left transition-colors
|
|
657
|
+
className="hover:bg-fm-surface-secondary flex items-center justify-between rounded px-3 py-2 text-left transition-colors"
|
|
636
658
|
>
|
|
637
|
-
<span className="
|
|
638
|
-
|
|
659
|
+
<span className="text-fm-icon-active!">
|
|
660
|
+
GitHub
|
|
661
|
+
</span>
|
|
662
|
+
<ArrowRightUpIcon className="text-fm-placeholder h-4 w-4" />
|
|
639
663
|
</a>
|
|
640
664
|
</li>
|
|
641
665
|
<li>
|
|
642
666
|
<a
|
|
643
667
|
href="#"
|
|
644
|
-
className="flex items-center justify-between rounded px-3 py-2 text-left transition-colors
|
|
668
|
+
className="hover:bg-fm-surface-secondary flex items-center justify-between rounded px-3 py-2 text-left transition-colors"
|
|
645
669
|
>
|
|
646
|
-
<span className="
|
|
670
|
+
<span className="text-fm-icon-active!">
|
|
647
671
|
Discord Community
|
|
648
672
|
</span>
|
|
649
|
-
<ArrowRightUpIcon className="h-4 w-4
|
|
673
|
+
<ArrowRightUpIcon className="text-fm-placeholder h-4 w-4" />
|
|
650
674
|
</a>
|
|
651
675
|
</li>
|
|
652
676
|
</ul>
|
|
653
677
|
</nav>
|
|
654
|
-
<div className="rounded-lg
|
|
655
|
-
<pre className="overflow-x-auto text-sm
|
|
678
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
679
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
656
680
|
{`<nav className="rounded-lg border border-white/10 bg-white/5 p-4">
|
|
657
681
|
<ul className="list-none space-y-3">
|
|
658
682
|
<li>
|
|
@@ -676,35 +700,35 @@ function ExternalLink() {
|
|
|
676
700
|
|
|
677
701
|
{/* Social Links */}
|
|
678
702
|
<div className="!space-y-4">
|
|
679
|
-
<h3 className="text-lg font-semibold
|
|
703
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
680
704
|
Social Links
|
|
681
705
|
</h3>
|
|
682
706
|
<div className="!space-y-4">
|
|
683
707
|
<div className="flex items-center gap-4">
|
|
684
708
|
<a
|
|
685
709
|
href="#"
|
|
686
|
-
className="flex items-center gap-2 rounded-lg border
|
|
710
|
+
className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors"
|
|
687
711
|
>
|
|
688
|
-
<span className="
|
|
689
|
-
<ArrowRightUpIcon className="h-4 w-4
|
|
712
|
+
<span className="text-fm-icon-active!">Twitter</span>
|
|
713
|
+
<ArrowRightUpIcon className="text-fm-icon-info h-4 w-4" />
|
|
690
714
|
</a>
|
|
691
715
|
<a
|
|
692
716
|
href="#"
|
|
693
|
-
className="flex items-center gap-2 rounded-lg border
|
|
717
|
+
className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors"
|
|
694
718
|
>
|
|
695
|
-
<span className="
|
|
696
|
-
<ArrowRightUpIcon className="h-4 w-4
|
|
719
|
+
<span className="text-fm-icon-active!">LinkedIn</span>
|
|
720
|
+
<ArrowRightUpIcon className="text-fm-icon-info h-4 w-4" />
|
|
697
721
|
</a>
|
|
698
722
|
<a
|
|
699
723
|
href="#"
|
|
700
|
-
className="flex items-center gap-2 rounded-lg border
|
|
724
|
+
className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors"
|
|
701
725
|
>
|
|
702
|
-
<span className="
|
|
703
|
-
<ArrowRightUpIcon className="h-4 w-4
|
|
726
|
+
<span className="text-fm-icon-active!">YouTube</span>
|
|
727
|
+
<ArrowRightUpIcon className="text-fm-icon-negative h-4 w-4" />
|
|
704
728
|
</a>
|
|
705
729
|
</div>
|
|
706
|
-
<div className="rounded-lg
|
|
707
|
-
<pre className="overflow-x-auto text-sm
|
|
730
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
731
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
708
732
|
{`<div className="flex items-center gap-4">
|
|
709
733
|
<a href="#" className="flex items-center gap-2 rounded-lg border border-white/10 bg-white/5 px-4 py-2 hover:bg-white/10">
|
|
710
734
|
<span className="text-white">Twitter</span>
|
|
@@ -724,19 +748,19 @@ function ExternalLink() {
|
|
|
724
748
|
|
|
725
749
|
{/* Animation Examples */}
|
|
726
750
|
<div className="!space-y-8">
|
|
727
|
-
<h2 className="text-center text-3xl font-bold
|
|
751
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
728
752
|
Animation Examples
|
|
729
753
|
</h2>
|
|
730
754
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
731
755
|
<div className="!space-y-4">
|
|
732
|
-
<h3 className="text-lg font-semibold
|
|
756
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
733
757
|
Hover Animations
|
|
734
758
|
</h3>
|
|
735
|
-
<div className="!space-y-4 rounded-lg border
|
|
759
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
736
760
|
<div className="!space-y-4">
|
|
737
761
|
<a
|
|
738
762
|
href="#"
|
|
739
|
-
className="group inline-flex items-center gap-2
|
|
763
|
+
className="group text-fm-secondary-600 hover:text-fm-secondary-600 inline-flex items-center gap-2"
|
|
740
764
|
>
|
|
741
765
|
<span>Diagonal movement</span>
|
|
742
766
|
<ArrowRightUpIcon className="h-4 w-4 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5" />
|
|
@@ -744,7 +768,7 @@ function ExternalLink() {
|
|
|
744
768
|
<br />
|
|
745
769
|
<a
|
|
746
770
|
href="#"
|
|
747
|
-
className="group inline-flex items-center gap-2
|
|
771
|
+
className="group text-fm-icon-info hover:text-fm-icon-info inline-flex items-center gap-2"
|
|
748
772
|
>
|
|
749
773
|
<span>Scale effect</span>
|
|
750
774
|
<ArrowRightUpIcon className="h-4 w-4 transition-transform group-hover:scale-110" />
|
|
@@ -752,7 +776,7 @@ function ExternalLink() {
|
|
|
752
776
|
<br />
|
|
753
777
|
<a
|
|
754
778
|
href="#"
|
|
755
|
-
className="group inline-flex items-center gap-2
|
|
779
|
+
className="group text-fm-icon-positive hover:text-fm-icon-positive inline-flex items-center gap-2"
|
|
756
780
|
>
|
|
757
781
|
<span>Rotation effect</span>
|
|
758
782
|
<ArrowRightUpIcon className="h-4 w-4 transition-transform group-hover:rotate-12" />
|
|
@@ -762,11 +786,11 @@ function ExternalLink() {
|
|
|
762
786
|
</div>
|
|
763
787
|
|
|
764
788
|
<div className="!space-y-4">
|
|
765
|
-
<h3 className="text-lg font-semibold
|
|
789
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
766
790
|
Animation Code
|
|
767
791
|
</h3>
|
|
768
|
-
<div className="rounded-lg
|
|
769
|
-
<pre className="overflow-x-auto text-sm
|
|
792
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
793
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
770
794
|
{`// Diagonal movement
|
|
771
795
|
<ArrowRightUpIcon className="h-4 w-4 transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5" />
|
|
772
796
|
|
|
@@ -786,65 +810,65 @@ function ExternalLink() {
|
|
|
786
810
|
|
|
787
811
|
{/* Accessibility */}
|
|
788
812
|
<div className="!space-y-8">
|
|
789
|
-
<h2 className="text-center text-3xl font-bold
|
|
813
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
790
814
|
Accessibility Features
|
|
791
815
|
</h2>
|
|
792
816
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
793
|
-
<div className="!space-y-4 rounded-lg border
|
|
794
|
-
<h3 className="text-lg font-semibold
|
|
817
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
818
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
795
819
|
✅ Built-in Features
|
|
796
820
|
</h3>
|
|
797
|
-
<ul className="!space-y-2 text-sm
|
|
798
|
-
<li className="
|
|
821
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
822
|
+
<li className="text-fm-secondary!">
|
|
799
823
|
Uses Radix UI AccessibleIcon wrapper
|
|
800
824
|
</li>
|
|
801
|
-
<li className="
|
|
825
|
+
<li className="text-fm-secondary!">
|
|
802
826
|
Provides screen reader label "Arrow Right Up icon"
|
|
803
827
|
</li>
|
|
804
|
-
<li className="
|
|
828
|
+
<li className="text-fm-secondary!">
|
|
805
829
|
Supports keyboard navigation when used in links
|
|
806
830
|
</li>
|
|
807
|
-
<li className="
|
|
831
|
+
<li className="text-fm-secondary!">
|
|
808
832
|
Maintains proper color contrast ratios
|
|
809
833
|
</li>
|
|
810
|
-
<li className="
|
|
834
|
+
<li className="text-fm-secondary!">
|
|
811
835
|
Scales with user's font size preferences
|
|
812
836
|
</li>
|
|
813
837
|
</ul>
|
|
814
838
|
</div>
|
|
815
839
|
|
|
816
|
-
<div className="!space-y-4 rounded-lg border
|
|
817
|
-
<h3 className="text-lg font-semibold
|
|
840
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
841
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
818
842
|
💡 Best Practices
|
|
819
843
|
</h3>
|
|
820
|
-
<ul className="!space-y-2 text-sm
|
|
821
|
-
<li className="
|
|
844
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
845
|
+
<li className="text-fm-secondary!">
|
|
822
846
|
Always pair with descriptive text for external links
|
|
823
847
|
</li>
|
|
824
|
-
<li className="
|
|
848
|
+
<li className="text-fm-secondary!">
|
|
825
849
|
Use consistent colors for link types
|
|
826
850
|
</li>
|
|
827
|
-
<li className="
|
|
851
|
+
<li className="text-fm-secondary!">
|
|
828
852
|
Add target="_blank" and rel="noopener" for external
|
|
829
853
|
links
|
|
830
854
|
</li>
|
|
831
|
-
<li className="
|
|
855
|
+
<li className="text-fm-secondary!">
|
|
832
856
|
Provide clear focus indicators
|
|
833
857
|
</li>
|
|
834
|
-
<li className="
|
|
858
|
+
<li className="text-fm-secondary!">
|
|
835
859
|
Consider reduced motion preferences
|
|
836
860
|
</li>
|
|
837
861
|
</ul>
|
|
838
862
|
</div>
|
|
839
863
|
</div>
|
|
840
864
|
|
|
841
|
-
<div className="rounded-lg border
|
|
842
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
865
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
866
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
843
867
|
Accessible External Link Implementation
|
|
844
868
|
</h3>
|
|
845
869
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
846
|
-
<div className="rounded-lg
|
|
847
|
-
<pre className="overflow-x-auto text-sm
|
|
870
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
871
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
848
872
|
{`// Accessible external link with proper attributes
|
|
849
873
|
function AccessibleExternalLink({ href, children, ...props }) {
|
|
850
874
|
return (
|
|
@@ -853,7 +877,7 @@ function AccessibleExternalLink({ href, children, ...props }) {
|
|
|
853
877
|
target="_blank"
|
|
854
878
|
rel="noopener noreferrer"
|
|
855
879
|
aria-label={\`\${children} (opens in new tab)\`}
|
|
856
|
-
className="inline-flex items-center gap-2 text-
|
|
880
|
+
className="inline-flex items-center gap-2 text-fm-icon-info hover:text-fm-icon-info focus:ring-2 focus:ring-blue-500"
|
|
857
881
|
{...props}
|
|
858
882
|
>
|
|
859
883
|
{children}
|
|
@@ -872,13 +896,13 @@ function AccessibleExternalLink({ href, children, ...props }) {
|
|
|
872
896
|
</pre>
|
|
873
897
|
</div>
|
|
874
898
|
<div className="!space-y-4">
|
|
875
|
-
<p className="text-
|
|
899
|
+
<p className="text-fm-secondary! text-sm">
|
|
876
900
|
This implementation includes proper security attributes,
|
|
877
901
|
ARIA labeling, and keyboard focus management for optimal
|
|
878
902
|
accessibility.
|
|
879
903
|
</p>
|
|
880
|
-
<div className="
|
|
881
|
-
<div className="flex items-center gap-2 text-sm
|
|
904
|
+
<div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-4">
|
|
905
|
+
<div className="text-fm-secondary-600! flex items-center gap-2 text-sm">
|
|
882
906
|
<ArrowRightUpIcon className="h-4 w-4" />
|
|
883
907
|
<span>
|
|
884
908
|
The icon indicates to screen readers that this opens
|
|
@@ -893,56 +917,58 @@ function AccessibleExternalLink({ href, children, ...props }) {
|
|
|
893
917
|
|
|
894
918
|
{/* Related Icons */}
|
|
895
919
|
<div className="!space-y-8">
|
|
896
|
-
<h2 className="text-center text-3xl font-bold
|
|
920
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
897
921
|
Related Icons
|
|
898
922
|
</h2>
|
|
899
923
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
900
|
-
<div className="!space-y-3 rounded-lg border
|
|
901
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
902
|
-
<ArrowRightUpIcon className="h-6 w-6 rotate-90
|
|
924
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
925
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
926
|
+
<ArrowRightUpIcon className="text-fm-icon-info h-6 w-6 rotate-90" />
|
|
903
927
|
</div>
|
|
904
928
|
<div>
|
|
905
|
-
<div className="font-medium
|
|
929
|
+
<div className="text-fm-icon-active font-medium">
|
|
906
930
|
ArrowRightDownIcon
|
|
907
931
|
</div>
|
|
908
|
-
<div className="text-
|
|
932
|
+
<div className="text-fm-tertiary text-xs">
|
|
909
933
|
Download/decrease
|
|
910
934
|
</div>
|
|
911
935
|
</div>
|
|
912
936
|
</div>
|
|
913
|
-
<div className="!space-y-3 rounded-lg border
|
|
914
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
915
|
-
<ArrowRightUpIcon className="h-6 w-6 -rotate-90
|
|
937
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
938
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
939
|
+
<ArrowRightUpIcon className="text-fm-icon-info h-6 w-6 -rotate-90" />
|
|
916
940
|
</div>
|
|
917
941
|
<div>
|
|
918
|
-
<div className="font-medium
|
|
942
|
+
<div className="text-fm-icon-active font-medium">
|
|
919
943
|
ArrowLeftUpIcon
|
|
920
944
|
</div>
|
|
921
|
-
<div className="text-
|
|
945
|
+
<div className="text-fm-tertiary text-xs">
|
|
946
|
+
Back and up
|
|
947
|
+
</div>
|
|
922
948
|
</div>
|
|
923
949
|
</div>
|
|
924
|
-
<div className="!space-y-3 rounded-lg border
|
|
925
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
950
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
951
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
926
952
|
<span className="text-2xl">↗️</span>
|
|
927
953
|
</div>
|
|
928
954
|
<div>
|
|
929
|
-
<div className="font-medium
|
|
955
|
+
<div className="text-fm-icon-active font-medium">
|
|
930
956
|
ExternalLinkIcon
|
|
931
957
|
</div>
|
|
932
|
-
<div className="text-
|
|
958
|
+
<div className="text-fm-tertiary text-xs">
|
|
933
959
|
Alternative style
|
|
934
960
|
</div>
|
|
935
961
|
</div>
|
|
936
962
|
</div>
|
|
937
|
-
<div className="!space-y-3 rounded-lg border
|
|
938
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
963
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
964
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
939
965
|
<span className="text-2xl">📈</span>
|
|
940
966
|
</div>
|
|
941
967
|
<div>
|
|
942
|
-
<div className="font-medium
|
|
968
|
+
<div className="text-fm-icon-active font-medium">
|
|
943
969
|
TrendingUpIcon
|
|
944
970
|
</div>
|
|
945
|
-
<div className="text-
|
|
971
|
+
<div className="text-fm-tertiary text-xs">
|
|
946
972
|
Growth metrics
|
|
947
973
|
</div>
|
|
948
974
|
</div>
|
|
@@ -952,14 +978,14 @@ function AccessibleExternalLink({ href, children, ...props }) {
|
|
|
952
978
|
</div>
|
|
953
979
|
|
|
954
980
|
{/* Footer */}
|
|
955
|
-
<div className="border-
|
|
981
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
956
982
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
957
983
|
<div className="!space-y-4 text-center">
|
|
958
|
-
<p className="
|
|
984
|
+
<p className="text-fm-tertiary!">
|
|
959
985
|
ArrowRightUpIcon is part of the Aural UI icon library,
|
|
960
986
|
designed for external navigation and growth indication.
|
|
961
987
|
</p>
|
|
962
|
-
<p className="text-
|
|
988
|
+
<p className="text-fm-placeholder! text-sm">
|
|
963
989
|
Perfect for external links, growth metrics, expansion
|
|
964
990
|
indicators, and any interface requiring diagonal upward
|
|
965
991
|
direction.
|
|
@@ -1005,8 +1031,8 @@ const storyParameters = {
|
|
|
1005
1031
|
backgrounds: {
|
|
1006
1032
|
default: "dark",
|
|
1007
1033
|
values: [
|
|
1008
|
-
{ name: "dark", value: "
|
|
1009
|
-
{ name: "darker", value: "
|
|
1034
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
1035
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
1010
1036
|
],
|
|
1011
1037
|
},
|
|
1012
1038
|
}
|
|
@@ -1015,12 +1041,12 @@ export const Default: Story = {
|
|
|
1015
1041
|
args: {
|
|
1016
1042
|
width: 24,
|
|
1017
1043
|
height: 24,
|
|
1018
|
-
className: "text-
|
|
1044
|
+
className: "text-fm-secondary-600",
|
|
1019
1045
|
withAccessibility: true,
|
|
1020
1046
|
},
|
|
1021
1047
|
parameters: storyParameters,
|
|
1022
1048
|
render: (args) => (
|
|
1023
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1049
|
+
<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">
|
|
1024
1050
|
<ArrowRightUpIcon {...args} />
|
|
1025
1051
|
</div>
|
|
1026
1052
|
),
|
|
@@ -1037,30 +1063,30 @@ export const SizeVariations: Story = {
|
|
|
1037
1063
|
},
|
|
1038
1064
|
},
|
|
1039
1065
|
render: () => (
|
|
1040
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
1066
|
+
<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">
|
|
1041
1067
|
<div className="text-center">
|
|
1042
|
-
<ArrowRightUpIcon className="!mx-auto mb-2 h-3 w-3
|
|
1043
|
-
<span className="text-
|
|
1068
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-3 w-3" />
|
|
1069
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
1044
1070
|
</div>
|
|
1045
1071
|
<div className="text-center">
|
|
1046
|
-
<ArrowRightUpIcon className="!mx-auto mb-2 h-4 w-4
|
|
1047
|
-
<span className="text-
|
|
1072
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-4 w-4" />
|
|
1073
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
1048
1074
|
</div>
|
|
1049
1075
|
<div className="text-center">
|
|
1050
|
-
<ArrowRightUpIcon className="!mx-auto mb-2 h-5 w-5
|
|
1051
|
-
<span className="text-
|
|
1076
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-5 w-5" />
|
|
1077
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
1052
1078
|
</div>
|
|
1053
1079
|
<div className="text-center">
|
|
1054
|
-
<ArrowRightUpIcon className="!mx-auto mb-2 h-6 w-6
|
|
1055
|
-
<span className="text-
|
|
1080
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-6 w-6" />
|
|
1081
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
1056
1082
|
</div>
|
|
1057
1083
|
<div className="text-center">
|
|
1058
|
-
<ArrowRightUpIcon className="!mx-auto mb-2 h-8 w-8
|
|
1059
|
-
<span className="text-
|
|
1084
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-8 w-8" />
|
|
1085
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
1060
1086
|
</div>
|
|
1061
1087
|
<div className="text-center">
|
|
1062
|
-
<ArrowRightUpIcon className="!mx-auto mb-2 h-12 w-12
|
|
1063
|
-
<span className="text-
|
|
1088
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 !mx-auto mb-2 h-12 w-12" />
|
|
1089
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
1064
1090
|
</div>
|
|
1065
1091
|
</div>
|
|
1066
1092
|
),
|
|
@@ -1077,34 +1103,38 @@ export const ColorVariations: Story = {
|
|
|
1077
1103
|
},
|
|
1078
1104
|
},
|
|
1079
1105
|
render: () => (
|
|
1080
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
1106
|
+
<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">
|
|
1081
1107
|
<div className="text-center">
|
|
1082
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1083
|
-
<ArrowRightUpIcon className="h-8 w-8
|
|
1108
|
+
<div className="border-fm-secondary-500/30 bg-fm-secondary-500/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1109
|
+
<ArrowRightUpIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
1110
|
+
</div>
|
|
1111
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
1112
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
1113
|
+
text-fm-secondary-600
|
|
1084
1114
|
</div>
|
|
1085
|
-
<div className="text-sm font-medium text-white">Primary</div>
|
|
1086
|
-
<div className="text-xs text-violet-400">text-violet-400</div>
|
|
1087
1115
|
</div>
|
|
1088
1116
|
<div className="text-center">
|
|
1089
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1090
|
-
<ArrowRightUpIcon className="h-8 w-8
|
|
1117
|
+
<div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1118
|
+
<ArrowRightUpIcon className="text-fm-icon-info h-8 w-8" />
|
|
1091
1119
|
</div>
|
|
1092
|
-
<div className="text-sm font-medium
|
|
1093
|
-
<div className="text-
|
|
1120
|
+
<div className="text-fm-icon-active text-sm font-medium">External</div>
|
|
1121
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
1094
1122
|
</div>
|
|
1095
1123
|
<div className="text-center">
|
|
1096
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1097
|
-
<ArrowRightUpIcon className="h-8 w-8
|
|
1124
|
+
<div className="border-fm-icon-positive/30 bg-fm-icon-positive/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1125
|
+
<ArrowRightUpIcon className="text-fm-icon-positive h-8 w-8" />
|
|
1126
|
+
</div>
|
|
1127
|
+
<div className="text-fm-icon-active text-sm font-medium">Growth</div>
|
|
1128
|
+
<div className="text-fm-icon-positive text-xs">
|
|
1129
|
+
text-fm-icon-positive
|
|
1098
1130
|
</div>
|
|
1099
|
-
<div className="text-sm font-medium text-white">Growth</div>
|
|
1100
|
-
<div className="text-xs text-green-400">text-green-400</div>
|
|
1101
1131
|
</div>
|
|
1102
1132
|
<div className="text-center">
|
|
1103
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1104
|
-
<ArrowRightUpIcon className="h-8 w-8
|
|
1133
|
+
<div className="border-fm-divider-primary bg-fm-surface-tertiary/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1134
|
+
<ArrowRightUpIcon className="text-fm-placeholder h-8 w-8" />
|
|
1105
1135
|
</div>
|
|
1106
|
-
<div className="text-sm font-medium
|
|
1107
|
-
<div className="text-
|
|
1136
|
+
<div className="text-fm-icon-active text-sm font-medium">Neutral</div>
|
|
1137
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
1108
1138
|
</div>
|
|
1109
1139
|
</div>
|
|
1110
1140
|
),
|
|
@@ -1121,14 +1151,16 @@ export const UsageExamples: Story = {
|
|
|
1121
1151
|
},
|
|
1122
1152
|
},
|
|
1123
1153
|
render: () => (
|
|
1124
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1154
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
1125
1155
|
{/* External Links */}
|
|
1126
1156
|
<div className="!space-y-2">
|
|
1127
|
-
<h3 className="text-sm font-medium
|
|
1157
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1158
|
+
External Links
|
|
1159
|
+
</h3>
|
|
1128
1160
|
<div className="!space-y-2">
|
|
1129
1161
|
<a
|
|
1130
1162
|
href="#"
|
|
1131
|
-
className="inline-flex items-center gap-2
|
|
1163
|
+
className="text-fm-icon-info hover:text-fm-icon-info inline-flex items-center gap-2 transition-colors"
|
|
1132
1164
|
>
|
|
1133
1165
|
<span>Visit our documentation</span>
|
|
1134
1166
|
<ArrowRightUpIcon className="h-4 w-4 transition-transform hover:translate-x-0.5 hover:-translate-y-0.5" />
|
|
@@ -1136,7 +1168,7 @@ export const UsageExamples: Story = {
|
|
|
1136
1168
|
<br />
|
|
1137
1169
|
<a
|
|
1138
1170
|
href="#"
|
|
1139
|
-
className="inline-flex items-center gap-2
|
|
1171
|
+
className="text-fm-icon-info hover:text-fm-icon-info inline-flex items-center gap-2 transition-colors"
|
|
1140
1172
|
>
|
|
1141
1173
|
<span>Join our community</span>
|
|
1142
1174
|
<ArrowRightUpIcon className="h-4 w-4 transition-transform hover:translate-x-0.5 hover:-translate-y-0.5" />
|
|
@@ -1146,24 +1178,30 @@ export const UsageExamples: Story = {
|
|
|
1146
1178
|
|
|
1147
1179
|
{/* Growth Metrics */}
|
|
1148
1180
|
<div className="!space-y-2">
|
|
1149
|
-
<h3 className="text-sm font-medium
|
|
1181
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1182
|
+
Growth Indicators
|
|
1183
|
+
</h3>
|
|
1150
1184
|
<div className="grid grid-cols-2 gap-4">
|
|
1151
|
-
<div className="rounded-lg border
|
|
1185
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
1152
1186
|
<div className="flex items-center justify-between">
|
|
1153
1187
|
<div>
|
|
1154
|
-
<div className="text-2xl font-bold
|
|
1155
|
-
|
|
1188
|
+
<div className="text-fm-icon-active text-2xl font-bold">
|
|
1189
|
+
24.5%
|
|
1190
|
+
</div>
|
|
1191
|
+
<div className="text-fm-tertiary text-sm">Revenue Growth</div>
|
|
1156
1192
|
</div>
|
|
1157
|
-
<ArrowRightUpIcon className="h-6 w-6
|
|
1193
|
+
<ArrowRightUpIcon className="text-fm-icon-positive h-6 w-6" />
|
|
1158
1194
|
</div>
|
|
1159
1195
|
</div>
|
|
1160
|
-
<div className="rounded-lg border
|
|
1196
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
1161
1197
|
<div className="flex items-center justify-between">
|
|
1162
1198
|
<div>
|
|
1163
|
-
<div className="text-2xl font-bold
|
|
1164
|
-
|
|
1199
|
+
<div className="text-fm-icon-active text-2xl font-bold">
|
|
1200
|
+
156
|
|
1201
|
+
</div>
|
|
1202
|
+
<div className="text-fm-tertiary text-sm">New Users</div>
|
|
1165
1203
|
</div>
|
|
1166
|
-
<ArrowRightUpIcon className="h-6 w-6
|
|
1204
|
+
<ArrowRightUpIcon className="text-fm-icon-info h-6 w-6" />
|
|
1167
1205
|
</div>
|
|
1168
1206
|
</div>
|
|
1169
1207
|
</div>
|
|
@@ -1171,22 +1209,26 @@ export const UsageExamples: Story = {
|
|
|
1171
1209
|
|
|
1172
1210
|
{/* Card Actions */}
|
|
1173
1211
|
<div className="!space-y-2">
|
|
1174
|
-
<h3 className="text-sm font-medium
|
|
1175
|
-
|
|
1212
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1213
|
+
Card Actions
|
|
1214
|
+
</h3>
|
|
1215
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
1176
1216
|
<div className="!space-y-4">
|
|
1177
1217
|
<div>
|
|
1178
|
-
<h4 className="font-medium
|
|
1179
|
-
|
|
1218
|
+
<h4 className="text-fm-icon-active font-medium">
|
|
1219
|
+
GitHub Repository
|
|
1220
|
+
</h4>
|
|
1221
|
+
<p className="text-fm-tertiary text-sm">
|
|
1180
1222
|
Open source UI component library
|
|
1181
1223
|
</p>
|
|
1182
1224
|
</div>
|
|
1183
1225
|
<div className="flex items-center justify-between">
|
|
1184
|
-
<div className="flex items-center gap-2 text-sm
|
|
1226
|
+
<div className="text-fm-secondary flex items-center gap-2 text-sm">
|
|
1185
1227
|
<span>⭐ 1.2k stars</span>
|
|
1186
1228
|
</div>
|
|
1187
1229
|
<a
|
|
1188
1230
|
href="#"
|
|
1189
|
-
className="flex items-center gap-2 rounded
|
|
1231
|
+
className="bg-fm-secondary-500 text-fm-icon-active hover:bg-fm-secondary-500 flex items-center gap-2 rounded px-3 py-1.5 text-sm font-medium transition-colors"
|
|
1190
1232
|
>
|
|
1191
1233
|
View on GitHub
|
|
1192
1234
|
<ArrowRightUpIcon className="h-3 w-3" />
|
|
@@ -1210,47 +1252,49 @@ export const AnimatedStates: Story = {
|
|
|
1210
1252
|
},
|
|
1211
1253
|
},
|
|
1212
1254
|
render: () => (
|
|
1213
|
-
<div className="grid min-h-dvh grid-cols-1 items-center gap-8 rounded-lg bg-
|
|
1255
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary grid min-h-dvh grid-cols-1 items-center gap-8 rounded-lg bg-linear-to-br p-8 md:grid-cols-3">
|
|
1214
1256
|
<div className="text-center">
|
|
1215
|
-
<h3 className="mb-4 text-lg font-medium
|
|
1257
|
+
<h3 className="text-fm-icon-active mb-4 text-lg font-medium">
|
|
1216
1258
|
Diagonal Movement
|
|
1217
1259
|
</h3>
|
|
1218
1260
|
<a
|
|
1219
1261
|
href="#"
|
|
1220
|
-
className="group inline-flex items-center gap-2 rounded-lg border
|
|
1262
|
+
className="group border-fm-secondary-500/30 bg-fm-secondary-500/10 text-fm-secondary-600 hover:bg-fm-secondary-500/20 inline-flex items-center gap-2 rounded-lg border px-6 py-3 transition-colors"
|
|
1221
1263
|
>
|
|
1222
1264
|
<span>External Link</span>
|
|
1223
1265
|
<ArrowRightUpIcon className="h-6 w-6 transition-transform duration-300 group-hover:translate-x-1 group-hover:-translate-y-1" />
|
|
1224
1266
|
</a>
|
|
1225
|
-
<p className="mt-2 text-xs
|
|
1267
|
+
<p className="text-fm-tertiary mt-2 text-xs">
|
|
1226
1268
|
Hover for diagonal movement
|
|
1227
1269
|
</p>
|
|
1228
1270
|
</div>
|
|
1229
1271
|
|
|
1230
1272
|
<div className="text-center">
|
|
1231
|
-
<h3 className="mb-4 text-lg font-medium
|
|
1273
|
+
<h3 className="text-fm-icon-active mb-4 text-lg font-medium">
|
|
1274
|
+
Scale Effect
|
|
1275
|
+
</h3>
|
|
1232
1276
|
<a
|
|
1233
1277
|
href="#"
|
|
1234
|
-
className="group inline-flex items-center gap-2 rounded-lg border
|
|
1278
|
+
className="group border-fm-icon-info/30 bg-fm-icon-info/10 text-fm-icon-info hover:bg-fm-icon-info/20 inline-flex items-center gap-2 rounded-lg border px-6 py-3 transition-colors"
|
|
1235
1279
|
>
|
|
1236
1280
|
<span>Learn More</span>
|
|
1237
1281
|
<ArrowRightUpIcon className="h-6 w-6 transition-transform duration-300 group-hover:scale-125" />
|
|
1238
1282
|
</a>
|
|
1239
|
-
<p className="mt-2 text-xs
|
|
1283
|
+
<p className="text-fm-tertiary mt-2 text-xs">Hover to scale up</p>
|
|
1240
1284
|
</div>
|
|
1241
1285
|
|
|
1242
1286
|
<div className="text-center">
|
|
1243
|
-
<h3 className="mb-4 text-lg font-medium
|
|
1287
|
+
<h3 className="text-fm-icon-active mb-4 text-lg font-medium">
|
|
1244
1288
|
Combined Effects
|
|
1245
1289
|
</h3>
|
|
1246
1290
|
<a
|
|
1247
1291
|
href="#"
|
|
1248
|
-
className="group inline-flex items-center gap-2 rounded-lg border
|
|
1292
|
+
className="group border-fm-icon-positive/30 bg-fm-icon-positive/10 text-fm-icon-positive hover:bg-fm-icon-positive/20 inline-flex items-center gap-2 rounded-lg border px-6 py-3 transition-colors"
|
|
1249
1293
|
>
|
|
1250
1294
|
<span>Explore</span>
|
|
1251
1295
|
<ArrowRightUpIcon className="h-6 w-6 transition-all duration-300 group-hover:translate-x-1 group-hover:-translate-y-1 group-hover:scale-110 group-hover:rotate-12" />
|
|
1252
1296
|
</a>
|
|
1253
|
-
<p className="mt-2 text-xs
|
|
1297
|
+
<p className="text-fm-tertiary mt-2 text-xs">Multiple animations</p>
|
|
1254
1298
|
</div>
|
|
1255
1299
|
</div>
|
|
1256
1300
|
),
|
|
@@ -1269,11 +1313,11 @@ export const Playground: Story = {
|
|
|
1269
1313
|
args: {
|
|
1270
1314
|
width: 32,
|
|
1271
1315
|
height: 32,
|
|
1272
|
-
className: "text-
|
|
1316
|
+
className: "text-fm-secondary-600",
|
|
1273
1317
|
},
|
|
1274
1318
|
render: (args) => (
|
|
1275
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1276
|
-
<div className="rounded-lg border
|
|
1319
|
+
<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">
|
|
1320
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1277
1321
|
<ArrowRightUpIcon {...args} />
|
|
1278
1322
|
</div>
|
|
1279
1323
|
</div>
|