aural-ui 4.0.1 → 4.1.0
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 +290 -1228
- package/dist/components/avatar/Avatar.stories.tsx +219 -235
- package/dist/components/badge/Badge.stories.tsx +379 -116
- package/dist/components/banner/Banner.stories.tsx +445 -391
- package/dist/components/breadcrumb/Breadcrumb.stories.tsx +453 -199
- package/dist/components/button/Button.stories.tsx +585 -230
- package/dist/components/card/Card.stories.tsx +619 -301
- package/dist/components/char-count/CharCount.stories.tsx +350 -248
- package/dist/components/checkbox/Checkbox.stories.tsx +309 -167
- package/dist/components/chip/Chip.stories.tsx +362 -168
- package/dist/components/circular-loader/CircularLoader.stories.tsx +221 -636
- package/dist/components/clamp-lines/ClampLines.stories.tsx +246 -117
- package/dist/components/collapsible/Collapsible.stories.tsx +391 -252
- package/dist/components/command/Command.stories.tsx +530 -867
- package/dist/components/dialog/Dialog.stories.tsx +501 -950
- package/dist/components/divider/Divider.stories.tsx +264 -527
- package/dist/components/dot-loader/DotLoader.stories.tsx +256 -257
- package/dist/components/drawer/Drawer.stories.tsx +659 -1023
- package/dist/components/dropdown/Dropdown.stories.tsx +643 -1028
- package/dist/components/form/Form.stories.tsx +560 -274
- package/dist/components/helper-text/HelperText.stories.tsx +199 -200
- package/dist/components/hover-card/HoverCard.stories.tsx +318 -1254
- package/dist/components/icon-button/IconButton.stories.tsx +837 -194
- package/dist/components/if-else/if-else.stories.tsx +370 -83
- package/dist/components/input/Input.stories.tsx +436 -368
- package/dist/components/label/Label.stories.tsx +156 -154
- package/dist/components/list/List.stories.tsx +484 -835
- package/dist/components/marquee/Marquee.stories.tsx +356 -712
- package/dist/components/otp-inputs/OtpInputs.stories.tsx +352 -422
- package/dist/components/overlay/Overlay.stories.tsx +452 -824
- package/dist/components/pagination/Pagination.stories.tsx +721 -210
- package/dist/components/popover/Popover.stories.tsx +481 -896
- package/dist/components/radio/Radio.stories.tsx +432 -124
- package/dist/components/resizable/Resizable.stories.tsx +495 -799
- package/dist/components/scroll-area/ScrollArea.stories.tsx +383 -1059
- package/dist/components/search/Search.stories.tsx +312 -595
- package/dist/components/select/Select.stories.tsx +684 -789
- package/dist/components/sheet/Sheet.stories.tsx +671 -950
- package/dist/components/skelton/Skelton.stories.tsx +230 -764
- package/dist/components/slider/Slider.stories.tsx +383 -760
- package/dist/components/stepper/Stepper.stories.tsx +371 -514
- package/dist/components/switch/Switch.stories.tsx +461 -208
- package/dist/components/switch-case/SwitchCase.stories.tsx +367 -188
- package/dist/components/table/Table.stories.tsx +770 -916
- package/dist/components/tabs/Tabs.stories.tsx +458 -1455
- package/dist/components/tag/Tag.stories.tsx +714 -542
- package/dist/components/textarea/TextArea.stories.tsx +621 -562
- package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +228 -154
- package/dist/components/toast/Toast.stories.tsx +452 -1339
- package/dist/components/toggle/Toggle.stories.tsx +488 -931
- package/dist/components/tooltip/Tooltip.stories.tsx +344 -1388
- package/dist/components/typography/Typography.stories.tsx +406 -89
- package/dist/hooks/use-change-state/UseChangeState.stories.tsx +309 -606
- package/dist/hooks/use-previous/UsePrevious.stories.tsx +367 -917
- package/dist/hooks/use-standalone-pagination/UseStandalonePagination.stories.tsx +639 -867
- package/dist/icons/Icons.stories.tsx +0 -12
- package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +223 -1060
- package/dist/icons/alert-icon/AlertIcon.stories.tsx +106 -968
- package/dist/icons/all-icons.tsx +37 -16
- package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +137 -1010
- package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +145 -935
- package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +132 -1046
- package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +134 -986
- package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +135 -1028
- package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +133 -971
- package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +145 -1123
- package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +143 -1252
- package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +123 -632
- package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +141 -1223
- package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +164 -1018
- package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +121 -1236
- package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +121 -1213
- package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +116 -893
- package/dist/icons/camera-icon/CameraIcon.stories.tsx +109 -1254
- package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +114 -975
- package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +157 -994
- package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +160 -992
- package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +140 -970
- package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +126 -993
- package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +144 -987
- package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +141 -1007
- package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +147 -1187
- package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +110 -476
- package/dist/icons/coin-icon/CoinIcon.stories.tsx +120 -1364
- package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +113 -1360
- package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +111 -942
- package/dist/icons/command-icon/CommandIcon.stories.tsx +124 -1087
- package/dist/icons/copy-icon/CopyIcon.stories.tsx +119 -996
- package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +144 -1046
- package/dist/icons/cross-icon/CrossIcon.stories.tsx +136 -999
- package/dist/icons/download-icon/DownloadIcon.stories.tsx +123 -857
- package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +121 -1080
- package/dist/icons/email-icon/EmailIcon.stories.tsx +112 -979
- package/dist/icons/expand-icon/ExpandIcon.stories.tsx +109 -1146
- package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +141 -1068
- package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +140 -1081
- package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +124 -1050
- package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +123 -1091
- package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +122 -633
- package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +116 -1087
- package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +166 -1020
- package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +112 -1182
- package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +112 -1155
- package/dist/icons/globe-icon/GlobeIcon.stories.tsx +127 -325
- package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +142 -985
- package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +116 -1217
- package/dist/icons/head-icon/HeadIcon.stories.tsx +108 -953
- package/dist/icons/heart-icon/HeartIcon.stories.tsx +117 -1060
- package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +116 -716
- package/dist/icons/image-icon/ImageIcon.stories.tsx +102 -1164
- package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +108 -1233
- package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +133 -1289
- package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +155 -1012
- package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +158 -1438
- package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +121 -1011
- package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +116 -981
- package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +116 -979
- package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +105 -1252
- package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +151 -1554
- package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +107 -1227
- package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +116 -707
- package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +119 -1226
- package/dist/icons/message-icon/MessageIcon.stories.tsx +111 -557
- package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +112 -1198
- package/dist/icons/moon-icon/MoonIcon.stories.tsx +117 -557
- package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +106 -1235
- package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +112 -1185
- package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +116 -1012
- package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +108 -1137
- package/dist/icons/notes-icon/NotesIcon.stories.tsx +116 -1138
- package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +106 -1146
- package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +119 -719
- package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +110 -999
- package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +109 -912
- package/dist/icons/pause-icon/PauseIcon.stories.tsx +110 -1041
- package/dist/icons/pencil-icon/PencilIcon.stories.tsx +112 -1109
- package/dist/icons/phone-icon/PhoneIcon.stories.tsx +112 -1023
- package/dist/icons/plus-icon/PlusIcon.stories.tsx +103 -1132
- package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +104 -870
- package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +99 -476
- package/dist/icons/search-icon/SearchIcon.stories.tsx +108 -1161
- package/dist/icons/setting-icon/SettingIcon.stories.tsx +104 -1009
- package/dist/icons/share-icon/ShareIcon.stories.tsx +117 -1064
- package/dist/icons/shield-icon/ShieldIcon.stories.tsx +114 -974
- package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +134 -1160
- package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +169 -1017
- package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +161 -1016
- package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +102 -1001
- package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +155 -593
- package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +155 -608
- package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +142 -712
- package/dist/icons/star-icon/StarIcon.stories.tsx +120 -946
- package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +109 -1013
- package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +113 -891
- package/dist/icons/sun-icon/SunIcon.stories.tsx +117 -864
- package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +113 -989
- package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +120 -1027
- package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +153 -1476
- package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +143 -1187
- package/dist/icons/tick-icon/TickIcon.stories.tsx +142 -1322
- package/dist/icons/trash-icon/TrashIcon.stories.tsx +105 -970
- package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +154 -1457
- package/dist/icons/upload-icon/UploadIcon.stories.tsx +112 -930
- package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +115 -1019
- package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +122 -1092
- package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +120 -1401
- package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +107 -1212
- package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +109 -1122
- package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +112 -1124
- package/dist/icons/warning-icon/WarningIcon.stories.tsx +119 -1083
- package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +158 -983
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
import React from "react"
|
|
2
2
|
import type { Meta, StoryObj } from "@storybook/react-vite"
|
|
3
3
|
|
|
4
|
+
import { AppleLogoIcon } from "src/ui/icons/apple-logo-icon"
|
|
5
|
+
import { GoogleLogoIcon } from "src/ui/icons/google-logo-icon"
|
|
6
|
+
import { IndianFlagIcon } from "src/ui/icons/indian-flag-icon"
|
|
7
|
+
import { InstagramIcon } from "src/ui/icons/instagram-icon"
|
|
8
|
+
import {
|
|
9
|
+
IconBrandColors,
|
|
10
|
+
IconDefaultCanvas,
|
|
11
|
+
IconPlaygroundCanvas,
|
|
12
|
+
IconSizeVariations,
|
|
13
|
+
IconUsageCanvas,
|
|
14
|
+
IconUsageSection,
|
|
15
|
+
} from "src/ui/story-spec/icons/icon-story-canvas"
|
|
16
|
+
import { AuralIconDocsPage } from "src/ui/story-spec/icons/icon-story-docs-page"
|
|
17
|
+
|
|
4
18
|
import { SiteLogoIcon } from "."
|
|
5
19
|
|
|
6
20
|
const meta: Meta<typeof SiteLogoIcon> = {
|
|
@@ -18,973 +32,71 @@ const meta: Meta<typeof SiteLogoIcon> = {
|
|
|
18
32
|
},
|
|
19
33
|
docs: {
|
|
20
34
|
page: () => (
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
{
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
.sbdocs-content {
|
|
31
|
-
max-width: none !important;
|
|
32
|
-
padding: 0 !important;
|
|
33
|
-
margin: 0 !important;
|
|
34
|
-
background: transparent !important;
|
|
35
|
-
}
|
|
36
|
-
.docs-story {
|
|
37
|
-
background: transparent !important;
|
|
38
|
-
}
|
|
39
|
-
.sbdocs {
|
|
40
|
-
background: transparent !important;
|
|
41
|
-
}
|
|
42
|
-
body {
|
|
43
|
-
background: var(--color-fm-surface-primary) !important;
|
|
44
|
-
}
|
|
45
|
-
#storybook-docs {
|
|
46
|
-
background: var(--color-fm-surface-primary) !important;
|
|
47
|
-
}
|
|
48
|
-
.sbdocs-preview {
|
|
49
|
-
background: transparent !important;
|
|
50
|
-
border: none !important;
|
|
51
|
-
}
|
|
52
|
-
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
53
|
-
color: var(--color-fm-icon-active) !important;
|
|
54
|
-
}
|
|
55
|
-
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color: var(--color-fm-secondary) !important;
|
|
57
|
-
}
|
|
58
|
-
.sbdocs-code {
|
|
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
|
-
}
|
|
63
|
-
.sbdocs-pre {
|
|
64
|
-
background: var(--color-fm-surface-secondary) !important;
|
|
65
|
-
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
66
|
-
}
|
|
67
|
-
.sbdocs-table {
|
|
68
|
-
background: var(--color-fm-surface-secondary) !important;
|
|
69
|
-
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
70
|
-
}
|
|
71
|
-
.sbdocs-table th {
|
|
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
|
-
}
|
|
76
|
-
.sbdocs-table td {
|
|
77
|
-
color: var(--color-fm-secondary) !important;
|
|
78
|
-
border-bottom: 1px solid var(--color-fm-divider-tertiary) !important;
|
|
79
|
-
}
|
|
80
|
-
@keyframes logo-pulse {
|
|
81
|
-
0%, 100% { transform: scale(1); }
|
|
82
|
-
50% { transform: scale(1.05); }
|
|
83
|
-
}
|
|
84
|
-
.animate-logo-pulse {
|
|
85
|
-
animation: logo-pulse 2s ease-in-out infinite;
|
|
86
|
-
}
|
|
87
|
-
@keyframes logo-glow {
|
|
88
|
-
0%, 100% { filter: drop-shadow(0 0 4px #e51a4d); }
|
|
89
|
-
50% { filter: drop-shadow(0 0 12px #e51a4d); }
|
|
90
|
-
}
|
|
91
|
-
.animate-logo-glow {
|
|
92
|
-
animation: logo-glow 3s ease-in-out infinite;
|
|
93
|
-
}
|
|
94
|
-
`}
|
|
95
|
-
</style>
|
|
96
|
-
|
|
97
|
-
<div className="from-fm-surface-primary via-fm-icon-negative/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
|
|
98
|
-
{/* Header */}
|
|
99
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
100
|
-
<div className="from-fm-icon-negative/10 to-fm-secondary-500/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
101
|
-
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
102
|
-
<div className="!space-y-6 text-center">
|
|
103
|
-
<div className="border-fm-icon-negative/30 from-fm-icon-negative/20 to-fm-secondary-500/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
104
|
-
<SiteLogoIcon className="h-12 w-12" />
|
|
105
|
-
</div>
|
|
106
|
-
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
107
|
-
SiteLogoIcon
|
|
108
|
-
</h1>
|
|
109
|
-
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
110
|
-
The official Aural UI site logo icon for brand identity,
|
|
111
|
-
navigation headers, and app branding. Features a distinctive
|
|
112
|
-
red gradient design with speech bubble elements. Built with
|
|
113
|
-
accessibility in mind using Radix UI's AccessibleIcon
|
|
114
|
-
wrapper.
|
|
115
|
-
</p>
|
|
116
|
-
|
|
117
|
-
{/* Stats */}
|
|
118
|
-
<div className="flex items-center justify-center gap-8 pt-8">
|
|
119
|
-
<div className="text-center">
|
|
120
|
-
<div className="text-fm-icon-negative text-3xl font-bold">
|
|
121
|
-
Brand
|
|
122
|
-
</div>
|
|
123
|
-
<div className="text-fm-tertiary text-sm">
|
|
124
|
-
Identity focused
|
|
125
|
-
</div>
|
|
126
|
-
</div>
|
|
127
|
-
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
128
|
-
<div className="text-center">
|
|
129
|
-
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
130
|
-
Scalable
|
|
131
|
-
</div>
|
|
132
|
-
<div className="text-fm-tertiary text-sm">
|
|
133
|
-
All sizes supported
|
|
134
|
-
</div>
|
|
135
|
-
</div>
|
|
136
|
-
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
137
|
-
<div className="text-center">
|
|
138
|
-
<div className="text-fm-icon-negative text-3xl font-bold">
|
|
139
|
-
Accessible
|
|
140
|
-
</div>
|
|
141
|
-
<div className="text-fm-tertiary text-sm">
|
|
142
|
-
Screen reader ready
|
|
143
|
-
</div>
|
|
144
|
-
</div>
|
|
145
|
-
</div>
|
|
146
|
-
</div>
|
|
147
|
-
</div>
|
|
148
|
-
</div>
|
|
149
|
-
|
|
150
|
-
{/* Content */}
|
|
151
|
-
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
152
|
-
{/* Quick Usage */}
|
|
153
|
-
<div className="!space-y-8">
|
|
154
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
155
|
-
Quick Start
|
|
156
|
-
</h2>
|
|
157
|
-
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
158
|
-
<div className="!space-y-4">
|
|
159
|
-
<h3 className="text-fm-icon-negative! text-xl font-semibold">
|
|
160
|
-
Basic Usage
|
|
161
|
-
</h3>
|
|
162
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
163
|
-
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
164
|
-
{`import { SiteLogoIcon } from "@icons/site-logo-icon"
|
|
35
|
+
<AuralIconDocsPage
|
|
36
|
+
accentToken="info"
|
|
37
|
+
features={[
|
|
38
|
+
{ title: "Brand Mark", description: "Pocket FM site logo" },
|
|
39
|
+
{ title: "App Identity", description: "Primary brand identifier" },
|
|
40
|
+
{ title: "Accessible", description: "ARIA-ready by default" },
|
|
41
|
+
]}
|
|
42
|
+
quickStart={{
|
|
43
|
+
codeExample: `import { SiteLogoIcon } from "src/ui/icons/site-logo-icon"
|
|
165
44
|
|
|
166
45
|
function Header() {
|
|
167
46
|
return (
|
|
168
|
-
<
|
|
47
|
+
<header className="flex items-center gap-2">
|
|
169
48
|
<SiteLogoIcon className="h-8 w-8" />
|
|
170
|
-
<span className="text-
|
|
171
|
-
|
|
49
|
+
<span className="text-fm-primary font-fm-text font-semibold">
|
|
50
|
+
Pocket FM
|
|
51
|
+
</span>
|
|
52
|
+
</header>
|
|
172
53
|
)
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
<div className="!space-y-4">
|
|
179
|
-
<h3 className="text-fm-icon-negative! text-xl font-semibold">
|
|
180
|
-
Live Preview
|
|
181
|
-
</h3>
|
|
182
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
183
|
-
<div className="border-fm-icon-negative/20 bg-fm-icon-negative/10 flex items-center gap-3 rounded-lg border px-6 py-3">
|
|
184
|
-
<SiteLogoIcon className="h-8 w-8" />
|
|
185
|
-
<span className="text-fm-icon-active text-xl font-bold">
|
|
186
|
-
Aural UI
|
|
187
|
-
</span>
|
|
188
|
-
</div>
|
|
189
|
-
</div>
|
|
190
|
-
</div>
|
|
191
|
-
</div>
|
|
192
|
-
</div>
|
|
193
|
-
|
|
194
|
-
{/* Props Documentation */}
|
|
195
|
-
<div className="!space-y-8">
|
|
196
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
197
|
-
Props & Configuration
|
|
198
|
-
</h2>
|
|
199
|
-
|
|
200
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
201
|
-
<div className="bg-fm-surface-secondary p-4">
|
|
202
|
-
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
203
|
-
Props
|
|
204
|
-
</h3>
|
|
205
|
-
</div>
|
|
206
|
-
<table className="!my-0 w-full">
|
|
207
|
-
<thead className="bg-fm-surface-secondary">
|
|
208
|
-
<tr className="border-fm-divider-secondary border-b">
|
|
209
|
-
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
210
|
-
Prop
|
|
211
|
-
</th>
|
|
212
|
-
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
213
|
-
Type
|
|
214
|
-
</th>
|
|
215
|
-
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
216
|
-
Default
|
|
217
|
-
</th>
|
|
218
|
-
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
219
|
-
Description
|
|
220
|
-
</th>
|
|
221
|
-
</tr>
|
|
222
|
-
</thead>
|
|
223
|
-
<tbody>
|
|
224
|
-
{" "}
|
|
225
|
-
<tr className="bg-fm-surface-secondary!">
|
|
226
|
-
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
227
|
-
withAccessibility
|
|
228
|
-
</td>
|
|
229
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
230
|
-
boolean
|
|
231
|
-
</td>
|
|
232
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
233
|
-
true
|
|
234
|
-
</td>
|
|
235
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
236
|
-
Whether to wrap the icon with accessibility feature
|
|
237
|
-
</td>
|
|
238
|
-
</tr>
|
|
239
|
-
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
240
|
-
<td className="text-fm-icon-negative! px-6 py-4 font-mono text-sm">
|
|
241
|
-
height
|
|
242
|
-
</td>
|
|
243
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
244
|
-
number | string
|
|
245
|
-
</td>
|
|
246
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
247
|
-
22
|
|
248
|
-
</td>
|
|
249
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
250
|
-
Height of the logo in pixels
|
|
251
|
-
</td>
|
|
252
|
-
</tr>
|
|
253
|
-
<tr className="border-fm-divider-tertiary border-b">
|
|
254
|
-
<td className="text-fm-icon-negative! px-6 py-4 font-mono text-sm">
|
|
255
|
-
className
|
|
256
|
-
</td>
|
|
257
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
258
|
-
string
|
|
259
|
-
</td>
|
|
260
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
261
|
-
-
|
|
262
|
-
</td>
|
|
263
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
264
|
-
CSS classes for styling
|
|
265
|
-
</td>
|
|
266
|
-
</tr>
|
|
267
|
-
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
268
|
-
<td className="text-fm-icon-negative! px-6 py-4 font-mono text-sm">
|
|
269
|
-
viewBox
|
|
270
|
-
</td>
|
|
271
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
272
|
-
string
|
|
273
|
-
</td>
|
|
274
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
275
|
-
"0 0 128 128"
|
|
276
|
-
</td>
|
|
277
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
278
|
-
SVG viewBox for scaling
|
|
279
|
-
</td>
|
|
280
|
-
</tr>
|
|
281
|
-
<tr className="bg-fm-surface-secondary!">
|
|
282
|
-
<td className="text-fm-icon-negative! px-6 py-4 font-mono text-sm">
|
|
283
|
-
...svgProps
|
|
284
|
-
</td>
|
|
285
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
286
|
-
SVGProps
|
|
287
|
-
</td>
|
|
288
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
289
|
-
-
|
|
290
|
-
</td>
|
|
291
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
292
|
-
All standard SVG element props
|
|
293
|
-
</td>
|
|
294
|
-
</tr>
|
|
295
|
-
</tbody>
|
|
296
|
-
</table>
|
|
297
|
-
</div>
|
|
298
|
-
</div>
|
|
299
|
-
|
|
300
|
-
{/* Size Variations */}
|
|
301
|
-
<div className="!space-y-8">
|
|
302
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
303
|
-
Size Variations
|
|
304
|
-
</h2>
|
|
305
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
306
|
-
<div className="!space-y-6">
|
|
307
|
-
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
308
|
-
<div className="!space-y-4">
|
|
309
|
-
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
310
|
-
Standard Sizes
|
|
311
|
-
</h3>
|
|
312
|
-
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
313
|
-
<div className="text-center">
|
|
314
|
-
<SiteLogoIcon className="!mx-auto mb-2 h-4 w-4" />
|
|
315
|
-
<span className="text-fm-tertiary text-xs">
|
|
316
|
-
16px
|
|
317
|
-
</span>
|
|
318
|
-
</div>
|
|
319
|
-
<div className="text-center">
|
|
320
|
-
<SiteLogoIcon className="!mx-auto mb-2 h-5 w-5" />
|
|
321
|
-
<span className="text-fm-tertiary text-xs">
|
|
322
|
-
20px
|
|
323
|
-
</span>
|
|
324
|
-
</div>
|
|
325
|
-
<div className="text-center">
|
|
326
|
-
<SiteLogoIcon className="!mx-auto mb-2 h-6 w-6" />
|
|
327
|
-
<span className="text-fm-tertiary text-xs">
|
|
328
|
-
24px
|
|
329
|
-
</span>
|
|
330
|
-
</div>
|
|
331
|
-
<div className="text-center">
|
|
332
|
-
<SiteLogoIcon className="!mx-auto mb-2 h-8 w-8" />
|
|
333
|
-
<span className="text-fm-tertiary text-xs">
|
|
334
|
-
32px
|
|
335
|
-
</span>
|
|
336
|
-
</div>
|
|
337
|
-
<div className="text-center">
|
|
338
|
-
<SiteLogoIcon className="!mx-auto mb-2 h-12 w-12" />
|
|
339
|
-
<span className="text-fm-tertiary text-xs">
|
|
340
|
-
48px
|
|
341
|
-
</span>
|
|
342
|
-
</div>
|
|
343
|
-
<div className="text-center">
|
|
344
|
-
<SiteLogoIcon className="!mx-auto mb-2 h-16 w-16" />
|
|
345
|
-
<span className="text-fm-tertiary text-xs">
|
|
346
|
-
64px
|
|
347
|
-
</span>
|
|
348
|
-
</div>
|
|
349
|
-
</div>
|
|
350
|
-
</div>
|
|
351
|
-
|
|
352
|
-
<div className="!space-y-4">
|
|
353
|
-
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
354
|
-
Code Example
|
|
355
|
-
</h3>
|
|
356
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
357
|
-
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
358
|
-
{`// Small nav (24px)
|
|
359
|
-
<SiteLogoIcon className="h-6 w-6" />
|
|
360
|
-
|
|
361
|
-
// Standard header (32px)
|
|
362
|
-
<SiteLogoIcon className="h-8 w-8" />
|
|
363
|
-
|
|
364
|
-
// Large display (64px)
|
|
365
|
-
<SiteLogoIcon className="h-16 w-16" />
|
|
366
|
-
|
|
367
|
-
// Custom size with props
|
|
368
|
-
<SiteLogoIcon width={40} height={40} />
|
|
369
|
-
|
|
370
|
-
// Responsive sizing
|
|
371
|
-
<SiteLogoIcon className="h-6 w-6 md:h-8 md:w-8 lg:h-12 lg:w-12" />`}
|
|
372
|
-
</pre>
|
|
373
|
-
</div>
|
|
374
|
-
</div>
|
|
375
|
-
</div>
|
|
376
|
-
</div>
|
|
377
|
-
</div>
|
|
378
|
-
</div>
|
|
379
|
-
|
|
380
|
-
{/* Usage Examples */}
|
|
381
|
-
<div className="!space-y-8">
|
|
382
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
383
|
-
Usage Examples
|
|
384
|
-
</h2>
|
|
385
|
-
|
|
386
|
-
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
387
|
-
{/* Navigation Header */}
|
|
388
|
-
<div className="!space-y-4">
|
|
389
|
-
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
390
|
-
Navigation Header
|
|
391
|
-
</h3>
|
|
392
|
-
<div className="!space-y-4">
|
|
393
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
394
|
-
<div className="flex items-center justify-between">
|
|
395
|
-
<div className="flex items-center gap-3">
|
|
396
|
-
<SiteLogoIcon className="h-8 w-8" />
|
|
397
|
-
<span className="text-fm-icon-active text-xl font-bold">
|
|
398
|
-
Aural UI
|
|
399
|
-
</span>
|
|
400
|
-
</div>
|
|
401
|
-
<nav className="flex items-center gap-6">
|
|
402
|
-
<a
|
|
403
|
-
href="#"
|
|
404
|
-
className="text-fm-secondary hover:text-fm-icon-active"
|
|
405
|
-
>
|
|
406
|
-
Docs
|
|
407
|
-
</a>
|
|
408
|
-
<a
|
|
409
|
-
href="#"
|
|
410
|
-
className="text-fm-secondary hover:text-fm-icon-active"
|
|
411
|
-
>
|
|
412
|
-
Components
|
|
413
|
-
</a>
|
|
414
|
-
<a
|
|
415
|
-
href="#"
|
|
416
|
-
className="text-fm-secondary hover:text-fm-icon-active"
|
|
417
|
-
>
|
|
418
|
-
Examples
|
|
419
|
-
</a>
|
|
420
|
-
</nav>
|
|
421
|
-
</div>
|
|
422
|
-
</div>
|
|
423
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
424
|
-
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
425
|
-
{`<div className="flex items-center justify-between">
|
|
426
|
-
<div className="flex items-center gap-3">
|
|
427
|
-
<SiteLogoIcon className="h-8 w-8" />
|
|
428
|
-
<span className="text-xl font-bold">Aural UI</span>
|
|
429
|
-
</div>
|
|
430
|
-
<nav className="flex items-center gap-6">
|
|
431
|
-
<a href="#" className="hover:text-white">Docs</a>
|
|
432
|
-
<a href="#" className="hover:text-white">Components</a>
|
|
433
|
-
<a href="#" className="hover:text-white">Examples</a>
|
|
434
|
-
</nav>
|
|
435
|
-
</div>`}
|
|
436
|
-
</pre>
|
|
437
|
-
</div>
|
|
438
|
-
</div>
|
|
439
|
-
</div>
|
|
440
|
-
|
|
441
|
-
{/* Footer Branding */}
|
|
442
|
-
<div className="!space-y-4">
|
|
443
|
-
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
444
|
-
Footer Branding
|
|
445
|
-
</h3>
|
|
446
|
-
<div className="!space-y-4">
|
|
447
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
448
|
-
<div className="!space-y-4 text-center">
|
|
449
|
-
<SiteLogoIcon className="!mx-auto h-12 w-12" />
|
|
450
|
-
<h3 className="text-fm-icon-active! text-lg font-bold">
|
|
451
|
-
Aural UI
|
|
452
|
-
</h3>
|
|
453
|
-
<p className="text-fm-tertiary! text-sm">
|
|
454
|
-
Beautiful, accessible components for modern web
|
|
455
|
-
applications.
|
|
456
|
-
</p>
|
|
457
|
-
<div className="flex justify-center gap-4 pt-4">
|
|
458
|
-
<a
|
|
459
|
-
href="#"
|
|
460
|
-
className="text-fm-tertiary hover:text-fm-icon-active"
|
|
461
|
-
>
|
|
462
|
-
GitHub
|
|
463
|
-
</a>
|
|
464
|
-
<a
|
|
465
|
-
href="#"
|
|
466
|
-
className="text-fm-tertiary hover:text-fm-icon-active"
|
|
467
|
-
>
|
|
468
|
-
Documentation
|
|
469
|
-
</a>
|
|
470
|
-
<a
|
|
471
|
-
href="#"
|
|
472
|
-
className="text-fm-tertiary hover:text-fm-icon-active"
|
|
473
|
-
>
|
|
474
|
-
Support
|
|
475
|
-
</a>
|
|
476
|
-
</div>
|
|
477
|
-
</div>
|
|
478
|
-
</div>
|
|
479
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
480
|
-
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
481
|
-
{`<div className="space-y-4 text-center">
|
|
482
|
-
<SiteLogoIcon className="mx-auto h-12 w-12" />
|
|
483
|
-
<h3 className="text-lg font-bold">Aural UI</h3>
|
|
484
|
-
<p className="text-sm text-white/60">
|
|
485
|
-
Beautiful, accessible components for modern web applications.
|
|
486
|
-
</p>
|
|
487
|
-
<div className="flex justify-center gap-4 pt-4">
|
|
488
|
-
<a href="#" className="text-white/60 hover:text-white">GitHub</a>
|
|
489
|
-
<a href="#" className="text-white/60 hover:text-white">Documentation</a>
|
|
490
|
-
<a href="#" className="text-white/60 hover:text-white">Support</a>
|
|
491
|
-
</div>
|
|
492
|
-
</div>`}
|
|
493
|
-
</pre>
|
|
494
|
-
</div>
|
|
495
|
-
</div>
|
|
496
|
-
</div>
|
|
497
|
-
|
|
498
|
-
{/* Loading/Splash Screen */}
|
|
499
|
-
<div className="!space-y-4">
|
|
500
|
-
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
501
|
-
Loading & Splash Screen
|
|
502
|
-
</h3>
|
|
503
|
-
<div className="!space-y-4">
|
|
504
|
-
<div className="border-fm-divider-secondary from-fm-icon-negative/10 to-fm-secondary-500/10 flex items-center justify-center rounded-lg border bg-linear-to-br p-6">
|
|
505
|
-
<div className="text-center">
|
|
506
|
-
<SiteLogoIcon className="animate-logo-pulse !mx-auto h-16 w-16" />
|
|
507
|
-
<p className="text-fm-secondary! mt-4 text-sm">
|
|
508
|
-
Loading...
|
|
509
|
-
</p>
|
|
510
|
-
</div>
|
|
511
|
-
</div>
|
|
512
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
513
|
-
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
514
|
-
{`// Loading with pulse animation
|
|
515
|
-
<div className="text-center">
|
|
516
|
-
<SiteLogoIcon className="mx-auto h-16 w-16 animate-pulse" />
|
|
517
|
-
<p className="mt-4 text-sm text-white/70">Loading...</p>
|
|
518
|
-
</div>
|
|
519
|
-
|
|
520
|
-
// Splash screen
|
|
521
|
-
<div className="flex min-h-screen items-center justify-center bg-gradient-to-br from-red-500/10 to-pink-500/10">
|
|
522
|
-
<div className="text-center">
|
|
523
|
-
<SiteLogoIcon className="mx-auto h-24 w-24 animate-pulse" />
|
|
524
|
-
<h1 className="mt-6 text-3xl font-bold">Aural UI</h1>
|
|
525
|
-
</div>
|
|
526
|
-
</div>`}
|
|
527
|
-
</pre>
|
|
528
|
-
</div>
|
|
529
|
-
</div>
|
|
530
|
-
</div>
|
|
531
|
-
|
|
532
|
-
{/* App Icon/Favicon */}
|
|
533
|
-
<div className="!space-y-4">
|
|
534
|
-
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
535
|
-
App Icon Usage
|
|
536
|
-
</h3>
|
|
537
|
-
<div className="!space-y-4">
|
|
538
|
-
<div className="grid grid-cols-4 gap-4">
|
|
539
|
-
<div className="flex flex-col items-center justify-center !space-y-2 text-center">
|
|
540
|
-
<div className="bg-fm-surface-contrast flex h-12 w-12 items-center justify-center rounded-lg p-2 shadow-lg">
|
|
541
|
-
<SiteLogoIcon className="h-8 w-8" />
|
|
542
|
-
</div>
|
|
543
|
-
<span className="text-fm-tertiary text-xs">
|
|
544
|
-
App Icon
|
|
545
|
-
</span>
|
|
546
|
-
</div>
|
|
547
|
-
<div className="flex flex-col items-center justify-center !space-y-2 text-center">
|
|
548
|
-
<div className="bg-fm-surface-contrast flex h-12 w-12 items-center justify-center rounded-full p-2 shadow-lg">
|
|
549
|
-
<SiteLogoIcon className="h-8 w-8" />
|
|
550
|
-
</div>
|
|
551
|
-
<span className="text-fm-tertiary text-xs">
|
|
552
|
-
Round
|
|
553
|
-
</span>
|
|
554
|
-
</div>
|
|
555
|
-
<div className="flex flex-col items-center justify-center !space-y-2 text-center">
|
|
556
|
-
<div className="from-fm-icon-negative to-fm-secondary-500 flex h-12 w-12 items-center justify-center rounded bg-linear-to-br p-2 shadow-lg">
|
|
557
|
-
<SiteLogoIcon className="h-8 w-8" />
|
|
558
|
-
</div>
|
|
559
|
-
<span className="text-fm-tertiary text-xs">
|
|
560
|
-
Branded
|
|
561
|
-
</span>
|
|
562
|
-
</div>
|
|
563
|
-
<div className="flex flex-col items-center justify-center !space-y-2 text-center">
|
|
564
|
-
<div className="border-fm-icon-negative/20 bg-fm-icon-negative/10 flex h-12 w-12 items-center justify-center rounded-xl border p-2">
|
|
565
|
-
<SiteLogoIcon className="h-8 w-8" />
|
|
566
|
-
</div>
|
|
567
|
-
<span className="text-fm-tertiary text-xs">
|
|
568
|
-
Outlined
|
|
569
|
-
</span>
|
|
570
|
-
</div>
|
|
571
|
-
</div>
|
|
572
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
573
|
-
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
574
|
-
{`// Standard app icon
|
|
575
|
-
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-white p-2">
|
|
576
|
-
<SiteLogoIcon className="h-8 w-8" />
|
|
577
|
-
</div>
|
|
578
|
-
|
|
579
|
-
// Branded background
|
|
580
|
-
<div className="flex h-12 w-12 items-center justify-center rounded bg-gradient-to-br from-red-500 to-pink-500 p-2">
|
|
581
|
-
<SiteLogoIcon className="h-8 w-8" />
|
|
582
|
-
</div>
|
|
583
|
-
|
|
584
|
-
// For favicon/PWA icons
|
|
585
|
-
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
|
|
586
|
-
<link rel="apple-touch-icon" href="/logo-192.png" />`}
|
|
587
|
-
</pre>
|
|
588
|
-
</div>
|
|
589
|
-
</div>
|
|
590
|
-
</div>
|
|
591
|
-
</div>
|
|
592
|
-
</div>
|
|
593
|
-
|
|
594
|
-
{/* Interactive States */}
|
|
595
|
-
<div className="!space-y-8">
|
|
596
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
597
|
-
Interactive States & Animations
|
|
598
|
-
</h2>
|
|
599
|
-
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
600
|
-
<div className="!space-y-4">
|
|
601
|
-
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
602
|
-
Animation Effects
|
|
603
|
-
</h3>
|
|
604
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
605
|
-
<div className="flex items-center gap-4">
|
|
606
|
-
<SiteLogoIcon className="h-8 w-8 transition-transform hover:scale-110" />
|
|
607
|
-
<div>
|
|
608
|
-
<div className="text-fm-icon-active text-sm font-medium">
|
|
609
|
-
Scale on Hover
|
|
610
|
-
</div>
|
|
611
|
-
<div className="text-fm-tertiary text-xs">
|
|
612
|
-
Subtle growth effect
|
|
613
|
-
</div>
|
|
614
|
-
</div>
|
|
615
|
-
</div>
|
|
616
|
-
<div className="flex items-center gap-4">
|
|
617
|
-
<SiteLogoIcon className="animate-logo-pulse h-8 w-8" />
|
|
618
|
-
<div>
|
|
619
|
-
<div className="text-fm-icon-active text-sm font-medium">
|
|
620
|
-
Pulse Animation
|
|
621
|
-
</div>
|
|
622
|
-
<div className="text-fm-tertiary text-xs">
|
|
623
|
-
Breathing effect
|
|
624
|
-
</div>
|
|
625
|
-
</div>
|
|
626
|
-
</div>
|
|
627
|
-
<div className="flex items-center gap-4">
|
|
628
|
-
<SiteLogoIcon className="animate-logo-glow h-8 w-8" />
|
|
629
|
-
<div>
|
|
630
|
-
<div className="text-fm-icon-active text-sm font-medium">
|
|
631
|
-
Glow Effect
|
|
632
|
-
</div>
|
|
633
|
-
<div className="text-fm-tertiary text-xs">
|
|
634
|
-
Brand color glow
|
|
635
|
-
</div>
|
|
636
|
-
</div>
|
|
637
|
-
</div>
|
|
638
|
-
<div className="flex items-center gap-4">
|
|
639
|
-
<SiteLogoIcon className="h-8 w-8 transition-opacity hover:opacity-80" />
|
|
640
|
-
<div>
|
|
641
|
-
<div className="text-fm-icon-active text-sm font-medium">
|
|
642
|
-
Opacity Change
|
|
643
|
-
</div>
|
|
644
|
-
<div className="text-fm-tertiary text-xs">
|
|
645
|
-
Fade on interaction
|
|
646
|
-
</div>
|
|
647
|
-
</div>
|
|
648
|
-
</div>
|
|
649
|
-
</div>
|
|
650
|
-
</div>
|
|
651
|
-
|
|
652
|
-
<div className="!space-y-4">
|
|
653
|
-
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
654
|
-
Interactive Examples
|
|
655
|
-
</h3>
|
|
656
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
657
|
-
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
658
|
-
{`// Hover scale effect
|
|
659
|
-
<SiteLogoIcon className="h-8 w-8 transition-transform hover:scale-110" />
|
|
660
|
-
|
|
661
|
-
// Pulse animation for loading
|
|
662
|
-
<SiteLogoIcon className="h-8 w-8 animate-pulse" />
|
|
663
|
-
|
|
664
|
-
// Click/active states
|
|
665
|
-
<button className="flex items-center gap-2 group">
|
|
666
|
-
<SiteLogoIcon className="h-6 w-6 transition-transform group-hover:scale-105" />
|
|
667
|
-
<span>Aural UI</span>
|
|
668
|
-
</button>
|
|
669
|
-
|
|
670
|
-
// Focus states for accessibility
|
|
671
|
-
<a
|
|
672
|
-
href="#"
|
|
673
|
-
className="inline-flex items-center gap-2 rounded focus:ring-2 focus:ring-red-500/50"
|
|
674
|
-
>
|
|
675
|
-
<SiteLogoIcon className="h-6 w-6" />
|
|
676
|
-
<span>Home</span>
|
|
677
|
-
</a>
|
|
678
|
-
|
|
679
|
-
// Loading spinner alternative
|
|
680
|
-
<SiteLogoIcon className="h-8 w-8 animate-spin" />`}
|
|
681
|
-
</pre>
|
|
682
|
-
</div>
|
|
683
|
-
</div>
|
|
684
|
-
</div>
|
|
685
|
-
</div>
|
|
686
|
-
|
|
687
|
-
{/* Brand Guidelines */}
|
|
688
|
-
<div className="!space-y-8">
|
|
689
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
690
|
-
Brand Guidelines
|
|
691
|
-
</h2>
|
|
692
|
-
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
693
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
694
|
-
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
695
|
-
✅ Do's
|
|
696
|
-
</h3>
|
|
697
|
-
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
698
|
-
<li className="text-fm-secondary!">
|
|
699
|
-
Use the logo at readable sizes (minimum 16px)
|
|
700
|
-
</li>
|
|
701
|
-
<li className="text-fm-secondary!">
|
|
702
|
-
Maintain the original aspect ratio
|
|
703
|
-
</li>
|
|
704
|
-
<li className="text-fm-secondary!">
|
|
705
|
-
Use on contrasting backgrounds for visibility
|
|
706
|
-
</li>
|
|
707
|
-
<li className="text-fm-secondary!">
|
|
708
|
-
Pair with consistent brand typography
|
|
709
|
-
</li>
|
|
710
|
-
<li className="text-fm-secondary!">
|
|
711
|
-
Use as a clickable element for navigation
|
|
712
|
-
</li>
|
|
713
|
-
</ul>
|
|
714
|
-
</div>
|
|
715
|
-
|
|
716
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
717
|
-
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
718
|
-
❌ Don'ts
|
|
719
|
-
</h3>
|
|
720
|
-
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
721
|
-
<li className="text-fm-secondary!">
|
|
722
|
-
Don't modify the logo colors or design
|
|
723
|
-
</li>
|
|
724
|
-
<li className="text-fm-secondary!">
|
|
725
|
-
Don't stretch or skew the proportions
|
|
726
|
-
</li>
|
|
727
|
-
<li className="text-fm-secondary!">
|
|
728
|
-
Don't use on busy or conflicting backgrounds
|
|
729
|
-
</li>
|
|
730
|
-
<li className="text-fm-secondary!">
|
|
731
|
-
Don't use below 16px for accessibility
|
|
732
|
-
</li>
|
|
733
|
-
<li className="text-fm-secondary!">
|
|
734
|
-
Don't rotate or flip the logo
|
|
735
|
-
</li>
|
|
736
|
-
</ul>
|
|
737
|
-
</div>
|
|
738
|
-
</div>
|
|
739
|
-
|
|
740
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
741
|
-
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
742
|
-
Background & Contrast Guidelines
|
|
743
|
-
</h3>
|
|
744
|
-
<div className="grid grid-cols-2 gap-6 lg:grid-cols-4">
|
|
745
|
-
<div className="flex flex-col items-center justify-center !space-y-2 text-center">
|
|
746
|
-
<div className="bg-fm-surface-contrast flex h-16 w-16 items-center justify-center rounded-lg">
|
|
747
|
-
<SiteLogoIcon className="h-10 w-10" />
|
|
748
|
-
</div>
|
|
749
|
-
<span className="text-fm-icon-positive text-xs">
|
|
750
|
-
✅ Light backgrounds
|
|
751
|
-
</span>
|
|
752
|
-
</div>
|
|
753
|
-
<div className="flex flex-col items-center justify-center !space-y-2 text-center">
|
|
754
|
-
<div className="bg-fm-surface-secondary flex h-16 w-16 items-center justify-center rounded-lg">
|
|
755
|
-
<SiteLogoIcon className="h-10 w-10" />
|
|
756
|
-
</div>
|
|
757
|
-
<span className="text-fm-icon-positive text-xs">
|
|
758
|
-
✅ Neutral tones
|
|
759
|
-
</span>
|
|
760
|
-
</div>
|
|
761
|
-
<div className="flex flex-col items-center justify-center !space-y-2 text-center">
|
|
762
|
-
<div className="bg-fm-icon-info-sec flex h-16 w-16 items-center justify-center rounded-lg">
|
|
763
|
-
<SiteLogoIcon className="h-10 w-10" />
|
|
764
|
-
</div>
|
|
765
|
-
<span className="text-fm-icon-positive text-xs">
|
|
766
|
-
✅ Dark colors
|
|
767
|
-
</span>
|
|
768
|
-
</div>
|
|
769
|
-
<div className="flex flex-col items-center justify-center !space-y-2 text-center">
|
|
770
|
-
<div className="from-fm-icon-negative to-fm-icon-negative flex h-16 w-16 items-center justify-center rounded-lg bg-linear-to-br">
|
|
771
|
-
<SiteLogoIcon className="h-10 w-10" />
|
|
772
|
-
</div>
|
|
773
|
-
<span className="text-fm-icon-negative text-xs">
|
|
774
|
-
❌ Similar reds
|
|
775
|
-
</span>
|
|
776
|
-
</div>
|
|
777
|
-
</div>
|
|
778
|
-
</div>
|
|
779
|
-
</div>
|
|
780
|
-
|
|
781
|
-
{/* Accessibility */}
|
|
782
|
-
<div className="!space-y-8">
|
|
783
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
784
|
-
Accessibility Features
|
|
785
|
-
</h2>
|
|
786
|
-
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
787
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
788
|
-
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
789
|
-
✅ Built-in Features
|
|
790
|
-
</h3>
|
|
791
|
-
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
792
|
-
<li className="text-fm-secondary!">
|
|
793
|
-
Uses Radix UI AccessibleIcon wrapper
|
|
794
|
-
</li>
|
|
795
|
-
<li className="text-fm-secondary!">
|
|
796
|
-
Provides screen reader label "Site Logo icon"
|
|
797
|
-
</li>
|
|
798
|
-
<li className="text-fm-secondary!">
|
|
799
|
-
Supports keyboard navigation when clickable
|
|
800
|
-
</li>
|
|
801
|
-
<li className="text-fm-secondary!">
|
|
802
|
-
Scalable vector format for all screen sizes
|
|
803
|
-
</li>
|
|
804
|
-
<li className="text-fm-secondary!">
|
|
805
|
-
High contrast brand colors for visibility
|
|
806
|
-
</li>
|
|
807
|
-
</ul>
|
|
808
|
-
</div>
|
|
809
|
-
|
|
810
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
811
|
-
<h3 className="text-fm-icon-negative! text-lg font-semibold">
|
|
812
|
-
💡 Best Practices
|
|
813
|
-
</h3>
|
|
814
|
-
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
815
|
-
<li className="text-fm-secondary!">
|
|
816
|
-
Always include alt text when used as content
|
|
817
|
-
</li>
|
|
818
|
-
<li className="text-fm-secondary!">
|
|
819
|
-
Use as clickable link to homepage
|
|
820
|
-
</li>
|
|
821
|
-
<li className="text-fm-secondary!">
|
|
822
|
-
Ensure sufficient size for touch targets
|
|
823
|
-
</li>
|
|
824
|
-
<li className="text-fm-secondary!">
|
|
825
|
-
Add focus indicators for keyboard navigation
|
|
826
|
-
</li>
|
|
827
|
-
<li className="text-fm-secondary!">
|
|
828
|
-
Test with screen readers and voice control
|
|
829
|
-
</li>
|
|
830
|
-
</ul>
|
|
831
|
-
</div>
|
|
832
|
-
</div>
|
|
833
|
-
|
|
834
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
835
|
-
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
836
|
-
Accessibility Implementation
|
|
837
|
-
</h3>
|
|
838
|
-
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
839
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
840
|
-
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
841
|
-
{`// Logo as homepage link
|
|
842
|
-
<a
|
|
843
|
-
href="/"
|
|
844
|
-
aria-label="Aural UI homepage"
|
|
845
|
-
className="inline-flex items-center gap-2 rounded focus:ring-2 focus:ring-red-500/50"
|
|
846
|
-
>
|
|
847
|
-
<SiteLogoIcon className="h-8 w-8" />
|
|
848
|
-
<span className="sr-only">Aural UI</span>
|
|
849
|
-
</a>
|
|
850
|
-
|
|
851
|
-
// Logo with visible text
|
|
852
|
-
<div className="flex items-center gap-3">
|
|
853
|
-
<SiteLogoIcon
|
|
854
|
-
className="h-8 w-8"
|
|
855
|
-
aria-hidden="true"
|
|
856
|
-
/>
|
|
857
|
-
<h1 className="text-xl font-bold">Aural UI</h1>
|
|
858
|
-
</div>
|
|
859
|
-
|
|
860
|
-
// Custom accessible wrapper
|
|
861
|
-
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
862
|
-
|
|
863
|
-
<AccessibleIcon label="Aural UI - Component Library">
|
|
864
|
-
<SiteLogoIcon className="h-8 w-8" />
|
|
865
|
-
</AccessibleIcon>`}
|
|
866
|
-
</pre>
|
|
867
|
-
</div>
|
|
868
|
-
<div className="!space-y-4">
|
|
869
|
-
<p className="text-fm-secondary! text-sm">
|
|
870
|
-
When using the SiteLogoIcon as navigation, always
|
|
871
|
-
provide clear context about its purpose and destination.
|
|
872
|
-
The built-in accessible label helps screen readers
|
|
873
|
-
identify the element.
|
|
874
|
-
</p>
|
|
875
|
-
<div className="border-fm-icon-negative/20 bg-fm-icon-negative/10 rounded-lg border p-4">
|
|
876
|
-
<div className="text-fm-icon-negative flex items-center gap-2 text-sm">
|
|
877
|
-
<SiteLogoIcon className="h-4 w-4" />
|
|
878
|
-
<span>
|
|
879
|
-
This ensures all users can navigate effectively
|
|
880
|
-
</span>
|
|
881
|
-
</div>
|
|
882
|
-
</div>
|
|
883
|
-
</div>
|
|
884
|
-
</div>
|
|
885
|
-
</div>
|
|
886
|
-
</div>
|
|
887
|
-
|
|
888
|
-
{/* Related Components */}
|
|
889
|
-
<div className="!space-y-8">
|
|
890
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
891
|
-
Related Components
|
|
892
|
-
</h2>
|
|
893
|
-
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
894
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
895
|
-
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
896
|
-
<span className="text-2xl">🏠</span>
|
|
897
|
-
</div>
|
|
898
|
-
<div>
|
|
899
|
-
<div className="text-fm-icon-active font-medium">
|
|
900
|
-
HomeIcon
|
|
901
|
-
</div>
|
|
902
|
-
<div className="text-fm-tertiary text-xs">Navigation</div>
|
|
903
|
-
</div>
|
|
904
|
-
</div>
|
|
905
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
906
|
-
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
907
|
-
<span className="text-fm-icon-active! !text-2xl">☰</span>
|
|
908
|
-
</div>
|
|
909
|
-
<div>
|
|
910
|
-
<div className="text-fm-icon-active font-medium">
|
|
911
|
-
MenuIcon
|
|
912
|
-
</div>
|
|
913
|
-
<div className="text-fm-tertiary text-xs">Mobile nav</div>
|
|
914
|
-
</div>
|
|
915
|
-
</div>
|
|
916
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
917
|
-
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
918
|
-
<span className="text-2xl">⚙️</span>
|
|
919
|
-
</div>
|
|
920
|
-
<div>
|
|
921
|
-
<div className="text-fm-icon-active font-medium">
|
|
922
|
-
SettingsIcon
|
|
923
|
-
</div>
|
|
924
|
-
<div className="text-fm-tertiary text-xs">
|
|
925
|
-
Configuration
|
|
926
|
-
</div>
|
|
927
|
-
</div>
|
|
928
|
-
</div>
|
|
929
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
930
|
-
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
931
|
-
<span className="text-2xl">👤</span>
|
|
932
|
-
</div>
|
|
933
|
-
<div>
|
|
934
|
-
<div className="text-fm-icon-active font-medium">
|
|
935
|
-
UserIcon
|
|
936
|
-
</div>
|
|
937
|
-
<div className="text-fm-tertiary text-xs">Profile</div>
|
|
938
|
-
</div>
|
|
939
|
-
</div>
|
|
940
|
-
</div>
|
|
54
|
+
}`,
|
|
55
|
+
livePreview: (
|
|
56
|
+
<div className="flex items-center gap-2">
|
|
57
|
+
<SiteLogoIcon className="h-8 w-8" />
|
|
941
58
|
</div>
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
59
|
+
),
|
|
60
|
+
}}
|
|
61
|
+
relatedIcons={[
|
|
62
|
+
{
|
|
63
|
+
name: "GoogleLogoIcon",
|
|
64
|
+
description: "Google brand mark",
|
|
65
|
+
icon: GoogleLogoIcon,
|
|
66
|
+
accentToken: "info",
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: "AppleLogoIcon",
|
|
70
|
+
description: "Apple brand mark",
|
|
71
|
+
icon: AppleLogoIcon,
|
|
72
|
+
accentToken: "positive",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: "InstagramIcon",
|
|
76
|
+
description: "Instagram brand mark",
|
|
77
|
+
icon: InstagramIcon,
|
|
78
|
+
accentToken: "warning",
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: "IndianFlagIcon",
|
|
82
|
+
description: "Indian flag identity icon",
|
|
83
|
+
icon: IndianFlagIcon,
|
|
84
|
+
accentToken: "negative",
|
|
85
|
+
},
|
|
86
|
+
]}
|
|
87
|
+
/>
|
|
968
88
|
),
|
|
969
89
|
},
|
|
970
90
|
},
|
|
971
91
|
tags: ["autodocs"],
|
|
972
92
|
argTypes: {
|
|
973
|
-
|
|
974
|
-
control:
|
|
975
|
-
description: "
|
|
93
|
+
className: {
|
|
94
|
+
control: "text",
|
|
95
|
+
description: "CSS classes for sizing",
|
|
976
96
|
},
|
|
977
97
|
withAccessibility: {
|
|
978
98
|
control: "boolean",
|
|
979
|
-
description: "
|
|
980
|
-
},
|
|
981
|
-
height: {
|
|
982
|
-
control: { type: "range", min: 16, max: 128, step: 4 },
|
|
983
|
-
description: "Height of the logo in pixels",
|
|
984
|
-
},
|
|
985
|
-
className: {
|
|
986
|
-
control: "text",
|
|
987
|
-
description: "CSS classes for styling",
|
|
99
|
+
description: "Wrap with accessibility label",
|
|
988
100
|
},
|
|
989
101
|
},
|
|
990
102
|
}
|
|
@@ -992,243 +104,105 @@ import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
|
992
104
|
export default meta
|
|
993
105
|
type Story = StoryObj<typeof SiteLogoIcon>
|
|
994
106
|
|
|
995
|
-
// Story parameters for consistent dark theme
|
|
996
|
-
const storyParameters = {
|
|
997
|
-
backgrounds: {
|
|
998
|
-
default: "dark",
|
|
999
|
-
values: [
|
|
1000
|
-
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
1001
|
-
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
1002
|
-
],
|
|
1003
|
-
},
|
|
1004
|
-
}
|
|
1005
|
-
|
|
1006
107
|
export const Default: Story = {
|
|
1007
108
|
args: {
|
|
1008
109
|
className: "h-8 w-8",
|
|
1009
110
|
withAccessibility: true,
|
|
1010
111
|
},
|
|
1011
|
-
parameters: storyParameters,
|
|
1012
112
|
render: (args) => (
|
|
1013
|
-
<
|
|
113
|
+
<IconDefaultCanvas>
|
|
1014
114
|
<SiteLogoIcon {...args} />
|
|
1015
|
-
</
|
|
115
|
+
</IconDefaultCanvas>
|
|
1016
116
|
),
|
|
1017
117
|
}
|
|
1018
118
|
|
|
1019
119
|
export const SizeVariations: Story = {
|
|
1020
|
-
|
|
1021
|
-
...storyParameters,
|
|
1022
|
-
docs: {
|
|
1023
|
-
description: {
|
|
1024
|
-
story:
|
|
1025
|
-
"SiteLogoIcon in different sizes for various use cases, from small navigation to large displays.",
|
|
1026
|
-
},
|
|
1027
|
-
},
|
|
1028
|
-
},
|
|
1029
|
-
render: () => (
|
|
1030
|
-
<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">
|
|
1031
|
-
<div className="text-center">
|
|
1032
|
-
<SiteLogoIcon className="!mx-auto mb-2 h-4 w-4" />
|
|
1033
|
-
<span className="text-fm-tertiary text-xs">16px</span>
|
|
1034
|
-
</div>
|
|
1035
|
-
<div className="text-center">
|
|
1036
|
-
<SiteLogoIcon className="!mx-auto mb-2 h-6 w-6" />
|
|
1037
|
-
<span className="text-fm-tertiary text-xs">24px</span>
|
|
1038
|
-
</div>
|
|
1039
|
-
<div className="text-center">
|
|
1040
|
-
<SiteLogoIcon className="!mx-auto mb-2 h-8 w-8" />
|
|
1041
|
-
<span className="text-fm-tertiary text-xs">32px</span>
|
|
1042
|
-
</div>
|
|
1043
|
-
<div className="text-center">
|
|
1044
|
-
<SiteLogoIcon className="!mx-auto mb-2 h-12 w-12" />
|
|
1045
|
-
<span className="text-fm-tertiary text-xs">48px</span>
|
|
1046
|
-
</div>
|
|
1047
|
-
<div className="text-center">
|
|
1048
|
-
<SiteLogoIcon className="!mx-auto mb-2 h-16 w-16" />
|
|
1049
|
-
<span className="text-fm-tertiary text-xs">64px</span>
|
|
1050
|
-
</div>
|
|
1051
|
-
<div className="text-center">
|
|
1052
|
-
<SiteLogoIcon className="!mx-auto mb-2 h-24 w-24" />
|
|
1053
|
-
<span className="text-fm-tertiary text-xs">96px</span>
|
|
1054
|
-
</div>
|
|
1055
|
-
</div>
|
|
1056
|
-
),
|
|
120
|
+
render: () => <IconSizeVariations icon={SiteLogoIcon} />,
|
|
1057
121
|
}
|
|
1058
122
|
|
|
1059
|
-
export const
|
|
1060
|
-
parameters: {
|
|
1061
|
-
...storyParameters,
|
|
1062
|
-
docs: {
|
|
1063
|
-
description: {
|
|
1064
|
-
story: "SiteLogoIcon used in navigation headers and brand contexts.",
|
|
1065
|
-
},
|
|
1066
|
-
},
|
|
1067
|
-
},
|
|
123
|
+
export const BrandColors: Story = {
|
|
1068
124
|
render: () => (
|
|
1069
|
-
<
|
|
1070
|
-
{
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
</a>
|
|
1102
|
-
</nav>
|
|
1103
|
-
</div>
|
|
1104
|
-
</div>
|
|
1105
|
-
</div>
|
|
1106
|
-
|
|
1107
|
-
{/* Mobile Header */}
|
|
1108
|
-
<div className="!space-y-2">
|
|
1109
|
-
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1110
|
-
Mobile Header
|
|
1111
|
-
</h3>
|
|
1112
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
1113
|
-
<div className="flex items-center justify-between">
|
|
1114
|
-
<div className="flex items-center gap-2">
|
|
1115
|
-
<SiteLogoIcon className="h-6 w-6" />
|
|
1116
|
-
<span className="text-fm-icon-active text-lg font-bold">
|
|
1117
|
-
Aural UI
|
|
1118
|
-
</span>
|
|
1119
|
-
</div>
|
|
1120
|
-
<button className="text-fm-icon-active">☰</button>
|
|
1121
|
-
</div>
|
|
1122
|
-
</div>
|
|
1123
|
-
</div>
|
|
1124
|
-
|
|
1125
|
-
{/* Footer */}
|
|
1126
|
-
<div className="!space-y-2">
|
|
1127
|
-
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1128
|
-
Footer Branding
|
|
1129
|
-
</h3>
|
|
1130
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6 text-center">
|
|
1131
|
-
<SiteLogoIcon className="!mx-auto h-12 w-12" />
|
|
1132
|
-
<h3 className="text-fm-icon-active mt-4 text-lg font-bold">
|
|
1133
|
-
Aural UI
|
|
1134
|
-
</h3>
|
|
1135
|
-
<p className="text-fm-tertiary mt-2 text-sm">
|
|
1136
|
-
Beautiful, accessible components for modern web applications.
|
|
1137
|
-
</p>
|
|
1138
|
-
</div>
|
|
1139
|
-
</div>
|
|
1140
|
-
</div>
|
|
125
|
+
<IconBrandColors
|
|
126
|
+
icon={SiteLogoIcon}
|
|
127
|
+
variants={[
|
|
128
|
+
{
|
|
129
|
+
label: "Brand Red",
|
|
130
|
+
description: "Recommended",
|
|
131
|
+
cardClassName:
|
|
132
|
+
"border-fm-divider-secondary h-24 w-24 border bg-transparent",
|
|
133
|
+
iconClassName: "h-8 w-8",
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
label: "White Background",
|
|
137
|
+
description: "Official card",
|
|
138
|
+
cardClassName:
|
|
139
|
+
"border-fm-divider-secondary h-24 w-24 border bg-white",
|
|
140
|
+
iconClassName: "h-8 w-8",
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
label: "Primary Surface",
|
|
144
|
+
description: "Theme surface",
|
|
145
|
+
cardClassName: "bg-fm-surface-primary h-24 w-24",
|
|
146
|
+
iconClassName: "h-8 w-8",
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
label: "Transparent",
|
|
150
|
+
description: "Original mark",
|
|
151
|
+
cardClassName:
|
|
152
|
+
"border-fm-divider-contrast h-24 w-24 border bg-transparent",
|
|
153
|
+
iconClassName: "h-8 w-8",
|
|
154
|
+
},
|
|
155
|
+
]}
|
|
156
|
+
/>
|
|
1141
157
|
),
|
|
1142
158
|
}
|
|
1143
159
|
|
|
1144
|
-
export const
|
|
1145
|
-
parameters: {
|
|
1146
|
-
...storyParameters,
|
|
1147
|
-
docs: {
|
|
1148
|
-
description: {
|
|
1149
|
-
story: "SiteLogoIcon used in various brand applications and contexts.",
|
|
1150
|
-
},
|
|
1151
|
-
},
|
|
1152
|
-
},
|
|
160
|
+
export const UsageExamples: Story = {
|
|
1153
161
|
render: () => (
|
|
1154
|
-
<
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
<div className="bg-fm-surface-contrast flex h-16 w-16 items-center justify-center rounded-lg shadow-lg">
|
|
1163
|
-
<SiteLogoIcon className="h-12 w-12" />
|
|
1164
|
-
</div>
|
|
1165
|
-
<span className="text-fm-tertiary text-xs">Standard</span>
|
|
1166
|
-
</div>
|
|
1167
|
-
<div className="!space-y-2 text-center">
|
|
1168
|
-
<div className="bg-fm-surface-contrast flex h-16 w-16 items-center justify-center rounded-full shadow-lg">
|
|
1169
|
-
<SiteLogoIcon className="h-12 w-12" />
|
|
1170
|
-
</div>
|
|
1171
|
-
<span className="text-fm-tertiary text-xs">Round</span>
|
|
1172
|
-
</div>
|
|
1173
|
-
<div className="!space-y-2 text-center">
|
|
1174
|
-
<div className="from-fm-icon-negative to-fm-secondary-500 flex h-16 w-16 items-center justify-center rounded-xl bg-linear-to-br shadow-lg">
|
|
1175
|
-
<SiteLogoIcon className="h-12 w-12" />
|
|
1176
|
-
</div>
|
|
1177
|
-
<span className="text-fm-tertiary text-xs">Branded</span>
|
|
1178
|
-
</div>
|
|
1179
|
-
<div className="!space-y-2 text-center">
|
|
1180
|
-
<div className="border-fm-icon-negative/20 bg-fm-icon-negative/10 flex h-16 w-16 items-center justify-center rounded-xl border-2">
|
|
1181
|
-
<SiteLogoIcon className="h-12 w-12" />
|
|
1182
|
-
</div>
|
|
1183
|
-
<span className="text-fm-tertiary text-xs">Outlined</span>
|
|
162
|
+
<IconUsageCanvas>
|
|
163
|
+
<IconUsageSection title="App Header">
|
|
164
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex w-full max-w-sm items-center justify-between rounded-xl border px-4 py-3">
|
|
165
|
+
<div className="flex items-center gap-2">
|
|
166
|
+
<SiteLogoIcon className="h-8 w-8" />
|
|
167
|
+
<span className="text-fm-primary font-fm-text text-sm font-semibold">
|
|
168
|
+
Pocket FM
|
|
169
|
+
</span>
|
|
1184
170
|
</div>
|
|
1185
171
|
</div>
|
|
1186
|
-
</
|
|
172
|
+
</IconUsageSection>
|
|
1187
173
|
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
<div className="grid grid-cols-3 gap-6">
|
|
1194
|
-
<div className="text-center">
|
|
1195
|
-
<SiteLogoIcon className="!mx-auto h-12 w-12 animate-pulse" />
|
|
1196
|
-
<span className="text-fm-tertiary mt-2 text-xs">Pulse</span>
|
|
1197
|
-
</div>
|
|
1198
|
-
<div className="text-center">
|
|
1199
|
-
<SiteLogoIcon className="animate-logo-pulse !mx-auto h-12 w-12" />
|
|
1200
|
-
<span className="text-fm-tertiary mt-2 text-xs">Custom Pulse</span>
|
|
174
|
+
<IconUsageSection title="Login Screen Branding">
|
|
175
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex w-full max-w-sm flex-col items-center gap-3 rounded-xl border p-6">
|
|
176
|
+
<SiteLogoIcon className="h-16 w-16" />
|
|
177
|
+
<div className="text-fm-primary font-fm-text text-lg font-semibold">
|
|
178
|
+
Welcome to Pocket FM
|
|
1201
179
|
</div>
|
|
1202
|
-
<div className="text-
|
|
1203
|
-
|
|
1204
|
-
<span className="text-fm-tertiary mt-2 text-xs">Glow Effect</span>
|
|
180
|
+
<div className="text-fm-secondary font-fm-text text-sm">
|
|
181
|
+
Sign in to continue
|
|
1205
182
|
</div>
|
|
1206
183
|
</div>
|
|
1207
|
-
</
|
|
1208
|
-
|
|
184
|
+
</IconUsageSection>
|
|
185
|
+
|
|
186
|
+
<IconUsageSection title="Favicon / Tab Icon">
|
|
187
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-4 rounded-xl border px-4 py-3">
|
|
188
|
+
<SiteLogoIcon className="h-5 w-5" />
|
|
189
|
+
<span className="text-fm-secondary font-fm-text text-sm">
|
|
190
|
+
Pocket FM — Audio Stories
|
|
191
|
+
</span>
|
|
192
|
+
</div>
|
|
193
|
+
</IconUsageSection>
|
|
194
|
+
</IconUsageCanvas>
|
|
1209
195
|
),
|
|
1210
196
|
}
|
|
1211
197
|
|
|
1212
198
|
export const Playground: Story = {
|
|
1213
|
-
parameters: {
|
|
1214
|
-
...storyParameters,
|
|
1215
|
-
docs: {
|
|
1216
|
-
description: {
|
|
1217
|
-
story:
|
|
1218
|
-
"Interactive playground to experiment with different SiteLogoIcon configurations.",
|
|
1219
|
-
},
|
|
1220
|
-
},
|
|
1221
|
-
},
|
|
1222
199
|
args: {
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
className: "",
|
|
200
|
+
className: "h-8 w-8",
|
|
201
|
+
withAccessibility: true,
|
|
1226
202
|
},
|
|
1227
203
|
render: (args) => (
|
|
1228
|
-
<
|
|
1229
|
-
<
|
|
1230
|
-
|
|
1231
|
-
</div>
|
|
1232
|
-
</div>
|
|
204
|
+
<IconPlaygroundCanvas>
|
|
205
|
+
<SiteLogoIcon {...args} />
|
|
206
|
+
</IconPlaygroundCanvas>
|
|
1233
207
|
),
|
|
1234
208
|
}
|