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 { IndianFlagIcon } from "src/ui/icons/indian-flag-icon"
|
|
5
|
+
import { SearchIcon } from "src/ui/icons/search-icon"
|
|
6
|
+
import { SettingIcon } from "src/ui/icons/setting-icon"
|
|
7
|
+
import { ShareIcon } from "src/ui/icons/share-icon"
|
|
8
|
+
import {
|
|
9
|
+
IconColorVariations,
|
|
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 { GlobeIcon } from "."
|
|
5
19
|
|
|
6
20
|
const meta: Meta<typeof GlobeIcon> = {
|
|
@@ -18,358 +32,146 @@ const meta: Meta<typeof GlobeIcon> = {
|
|
|
18
32
|
},
|
|
19
33
|
docs: {
|
|
20
34
|
page: () => (
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
{
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
padding: 0 ;
|
|
33
|
-
margin: 0 ;
|
|
34
|
-
background: transparent ;
|
|
35
|
-
}
|
|
36
|
-
.docs-story {
|
|
37
|
-
background: transparent ;
|
|
38
|
-
}
|
|
39
|
-
.sbdocs {
|
|
40
|
-
background: transparent ;
|
|
41
|
-
}
|
|
42
|
-
body {
|
|
43
|
-
background: var(--color-fm-surface-primary) ;
|
|
44
|
-
}
|
|
45
|
-
#storybook-docs {
|
|
46
|
-
background: var(--color-fm-surface-primary) ;
|
|
47
|
-
}
|
|
48
|
-
.sbdocs-preview {
|
|
49
|
-
background: transparent ;
|
|
50
|
-
border: none ;
|
|
51
|
-
}
|
|
52
|
-
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
53
|
-
color: var(--color-fm-icon-active) ;
|
|
54
|
-
}
|
|
55
|
-
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color: var(--color-fm-secondary) ;
|
|
57
|
-
}
|
|
58
|
-
.sbdocs-code {
|
|
59
|
-
background: var(--color-fm-surface-secondary) ;
|
|
60
|
-
color: var(--color-fm-secondary-500) ;
|
|
61
|
-
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
62
|
-
}
|
|
63
|
-
.sbdocs-pre {
|
|
64
|
-
background: var(--color-fm-surface-secondary) ;
|
|
65
|
-
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
66
|
-
}
|
|
67
|
-
.sbdocs-table {
|
|
68
|
-
background: var(--color-fm-surface-secondary) ;
|
|
69
|
-
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
70
|
-
}
|
|
71
|
-
.sbdocs-table th {
|
|
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
|
-
}
|
|
76
|
-
.sbdocs-table td {
|
|
77
|
-
color: var(--color-fm-secondary) ;
|
|
78
|
-
border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
|
|
79
|
-
}
|
|
80
|
-
`}
|
|
81
|
-
</style>
|
|
82
|
-
|
|
83
|
-
<div className="bg-fm-surface-primary min-h-screen">
|
|
84
|
-
{/* Header */}
|
|
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-secondary-500/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
87
|
-
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
88
|
-
<div className="!space-y-6 text-center">
|
|
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
|
-
<GlobeIcon className="text-fm-secondary-800 h-12 w-12" />
|
|
91
|
-
</div>
|
|
92
|
-
<h1 className="text-fm-icon-active! text-5xl font-bold">
|
|
93
|
-
GlobeIcon
|
|
94
|
-
</h1>
|
|
95
|
-
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
96
|
-
A universal globe icon representing worldwide connectivity,
|
|
97
|
-
international features, language selection, and global
|
|
98
|
-
navigation. Perfect for localization interfaces, world maps,
|
|
99
|
-
and international settings.
|
|
100
|
-
</p>
|
|
101
|
-
|
|
102
|
-
{/* Stats */}
|
|
103
|
-
<div className="flex items-center justify-center gap-8 pt-8">
|
|
104
|
-
<div className="text-center">
|
|
105
|
-
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
106
|
-
Global
|
|
107
|
-
</div>
|
|
108
|
-
<div className="text-fm-tertiary text-sm">
|
|
109
|
-
Worldwide access
|
|
110
|
-
</div>
|
|
111
|
-
</div>
|
|
112
|
-
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
113
|
-
<div className="text-center">
|
|
114
|
-
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
115
|
-
Accessible
|
|
116
|
-
</div>
|
|
117
|
-
<div className="text-fm-tertiary text-sm">
|
|
118
|
-
Screen reader friendly
|
|
119
|
-
</div>
|
|
120
|
-
</div>
|
|
121
|
-
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
122
|
-
<div className="text-center">
|
|
123
|
-
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
124
|
-
Universal
|
|
125
|
-
</div>
|
|
126
|
-
<div className="text-fm-tertiary text-sm">
|
|
127
|
-
Standard globe icon
|
|
128
|
-
</div>
|
|
129
|
-
</div>
|
|
130
|
-
</div>
|
|
131
|
-
</div>
|
|
132
|
-
</div>
|
|
133
|
-
</div>
|
|
134
|
-
|
|
135
|
-
{/* Content */}
|
|
136
|
-
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
137
|
-
{/* Quick Usage */}
|
|
138
|
-
<div className="!space-y-8">
|
|
139
|
-
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
140
|
-
Quick Start
|
|
141
|
-
</h2>
|
|
142
|
-
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
143
|
-
<div className="!space-y-4">
|
|
144
|
-
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
145
|
-
Basic Usage
|
|
146
|
-
</h3>
|
|
147
|
-
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
148
|
-
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
149
|
-
{`import { GlobeIcon } from "@icons/globe-icon"
|
|
150
|
-
|
|
151
|
-
function LanguageSelector() {
|
|
35
|
+
<AuralIconDocsPage
|
|
36
|
+
accentToken="info"
|
|
37
|
+
features={[
|
|
38
|
+
{ title: "Globalisation", description: "Language and region icon" },
|
|
39
|
+
{ title: "Web / Internet", description: "Open web link indicator" },
|
|
40
|
+
{ title: "Accessible", description: "ARIA-ready by default" },
|
|
41
|
+
]}
|
|
42
|
+
quickStart={{
|
|
43
|
+
codeExample: `import { GlobeIcon } from "src/ui/icons/globe-icon"
|
|
44
|
+
|
|
45
|
+
function LanguagePicker() {
|
|
152
46
|
return (
|
|
153
|
-
<button
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
>
|
|
157
|
-
<GlobeIcon className="h-6 w-6" />
|
|
47
|
+
<button className="flex items-center gap-2">
|
|
48
|
+
<GlobeIcon className="h-5 w-5 text-fm-icon-active" />
|
|
49
|
+
<span>English</span>
|
|
158
50
|
</button>
|
|
159
51
|
)
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
Prop
|
|
195
|
-
</th>
|
|
196
|
-
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
197
|
-
Type
|
|
198
|
-
</th>
|
|
199
|
-
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
200
|
-
Default
|
|
201
|
-
</th>
|
|
202
|
-
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
203
|
-
Description
|
|
204
|
-
</th>
|
|
205
|
-
</tr>
|
|
206
|
-
</thead>
|
|
207
|
-
<tbody>
|
|
208
|
-
<tr className="bg-fm-surface-secondary!">
|
|
209
|
-
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
210
|
-
withAccessibility
|
|
211
|
-
</td>
|
|
212
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
213
|
-
boolean
|
|
214
|
-
</td>
|
|
215
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
216
|
-
true
|
|
217
|
-
</td>
|
|
218
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
219
|
-
Whether to wrap the icon with accessibility feature
|
|
220
|
-
</td>
|
|
221
|
-
</tr>
|
|
222
|
-
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
223
|
-
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
224
|
-
width
|
|
225
|
-
</td>
|
|
226
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
227
|
-
number | string
|
|
228
|
-
</td>
|
|
229
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
230
|
-
17
|
|
231
|
-
</td>
|
|
232
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
233
|
-
Width of the icon in pixels
|
|
234
|
-
</td>
|
|
235
|
-
</tr>
|
|
236
|
-
<tr className="border-fm-divider-tertiary border-b">
|
|
237
|
-
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
238
|
-
height
|
|
239
|
-
</td>
|
|
240
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
241
|
-
number | string
|
|
242
|
-
</td>
|
|
243
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
244
|
-
17
|
|
245
|
-
</td>
|
|
246
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
247
|
-
Height of the icon in pixels
|
|
248
|
-
</td>
|
|
249
|
-
</tr>
|
|
250
|
-
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
251
|
-
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
252
|
-
className
|
|
253
|
-
</td>
|
|
254
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
255
|
-
string
|
|
256
|
-
</td>
|
|
257
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
258
|
-
-
|
|
259
|
-
</td>
|
|
260
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
261
|
-
CSS classes for styling (use for overrides)
|
|
262
|
-
</td>
|
|
263
|
-
</tr>
|
|
264
|
-
<tr className="bg-fm-surface-secondary!">
|
|
265
|
-
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
266
|
-
...svgProps
|
|
267
|
-
</td>
|
|
268
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
269
|
-
SVGProps
|
|
270
|
-
</td>
|
|
271
|
-
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
272
|
-
-
|
|
273
|
-
</td>
|
|
274
|
-
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
275
|
-
All standard SVG element props
|
|
276
|
-
</td>
|
|
277
|
-
</tr>
|
|
278
|
-
</tbody>
|
|
279
|
-
</table>
|
|
280
|
-
</div>
|
|
281
|
-
</div>
|
|
282
|
-
</div>
|
|
283
|
-
</div>
|
|
284
|
-
</>
|
|
52
|
+
}`,
|
|
53
|
+
livePreview: (
|
|
54
|
+
<button className="flex items-center gap-2">
|
|
55
|
+
<GlobeIcon className="text-fm-icon-active h-6 w-6" />
|
|
56
|
+
</button>
|
|
57
|
+
),
|
|
58
|
+
}}
|
|
59
|
+
relatedIcons={[
|
|
60
|
+
{
|
|
61
|
+
name: "IndianFlagIcon",
|
|
62
|
+
description: "Indian flag identity icon",
|
|
63
|
+
icon: IndianFlagIcon,
|
|
64
|
+
accentToken: "info",
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: "SearchIcon",
|
|
68
|
+
description: "Search / find icon",
|
|
69
|
+
icon: SearchIcon,
|
|
70
|
+
accentToken: "positive",
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: "ShareIcon",
|
|
74
|
+
description: "Share content icon",
|
|
75
|
+
icon: ShareIcon,
|
|
76
|
+
accentToken: "warning",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: "SettingIcon",
|
|
80
|
+
description: "Settings / preferences icon",
|
|
81
|
+
icon: SettingIcon,
|
|
82
|
+
accentToken: "negative",
|
|
83
|
+
},
|
|
84
|
+
]}
|
|
85
|
+
/>
|
|
285
86
|
),
|
|
286
87
|
},
|
|
287
88
|
},
|
|
288
89
|
tags: ["autodocs"],
|
|
90
|
+
argTypes: {
|
|
91
|
+
className: {
|
|
92
|
+
control: "text",
|
|
93
|
+
description: "CSS classes including color token",
|
|
94
|
+
},
|
|
95
|
+
withAccessibility: {
|
|
96
|
+
control: "boolean",
|
|
97
|
+
description: "Wrap with accessibility label",
|
|
98
|
+
},
|
|
99
|
+
},
|
|
289
100
|
}
|
|
290
101
|
|
|
291
102
|
export default meta
|
|
292
103
|
type Story = StoryObj<typeof GlobeIcon>
|
|
293
104
|
|
|
294
|
-
const storyParameters = {
|
|
295
|
-
backgrounds: { default: "dark" },
|
|
296
|
-
}
|
|
297
|
-
|
|
298
105
|
export const Default: Story = {
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
export const WithAccessibility: Story = {
|
|
310
|
-
parameters: storyParameters,
|
|
311
|
-
render: () => (
|
|
312
|
-
<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">
|
|
313
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
314
|
-
<GlobeIcon
|
|
315
|
-
className="text-fm-icon-active h-12 w-12"
|
|
316
|
-
withAccessibility
|
|
317
|
-
/>
|
|
318
|
-
</div>
|
|
319
|
-
</div>
|
|
106
|
+
args: {
|
|
107
|
+
className: "h-6 w-6 text-fm-icon-active",
|
|
108
|
+
withAccessibility: true,
|
|
109
|
+
},
|
|
110
|
+
render: (args) => (
|
|
111
|
+
<IconDefaultCanvas>
|
|
112
|
+
<GlobeIcon {...args} />
|
|
113
|
+
</IconDefaultCanvas>
|
|
320
114
|
),
|
|
321
115
|
}
|
|
322
116
|
|
|
323
117
|
export const SizeVariations: Story = {
|
|
324
|
-
|
|
325
|
-
render: () => (
|
|
326
|
-
<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">
|
|
327
|
-
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-8 rounded-lg border p-8">
|
|
328
|
-
<GlobeIcon className="text-fm-icon-active h-4 w-4" />
|
|
329
|
-
<GlobeIcon className="text-fm-icon-active h-6 w-6" />
|
|
330
|
-
<GlobeIcon className="text-fm-icon-active h-8 w-8" />
|
|
331
|
-
<GlobeIcon className="text-fm-icon-active h-12 w-12" />
|
|
332
|
-
<GlobeIcon className="text-fm-icon-active h-16 w-16" />
|
|
333
|
-
</div>
|
|
334
|
-
</div>
|
|
335
|
-
),
|
|
118
|
+
render: () => <IconSizeVariations icon={GlobeIcon} />,
|
|
336
119
|
}
|
|
337
120
|
|
|
338
121
|
export const ColorVariations: Story = {
|
|
339
|
-
|
|
122
|
+
render: () => <IconColorVariations icon={GlobeIcon} />,
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export const UsageExamples: Story = {
|
|
340
126
|
render: () => (
|
|
341
|
-
<
|
|
342
|
-
<
|
|
343
|
-
<
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
127
|
+
<IconUsageCanvas>
|
|
128
|
+
<IconUsageSection title="Language Picker">
|
|
129
|
+
<button className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-2 rounded-xl border px-4 py-2">
|
|
130
|
+
<GlobeIcon className="text-fm-icon-active h-4 w-4" />
|
|
131
|
+
<span className="text-fm-primary font-fm-text text-sm">English</span>
|
|
132
|
+
</button>
|
|
133
|
+
</IconUsageSection>
|
|
134
|
+
|
|
135
|
+
<IconUsageSection title="Region Selector">
|
|
136
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary w-full max-w-sm overflow-hidden rounded-xl border">
|
|
137
|
+
{[
|
|
138
|
+
{ label: "Global", icon: GlobeIcon },
|
|
139
|
+
{ label: "India", icon: IndianFlagIcon },
|
|
140
|
+
].map(({ label, icon: Icon }) => (
|
|
141
|
+
<button
|
|
142
|
+
key={label}
|
|
143
|
+
className="border-fm-divider-secondary flex w-full items-center gap-3 border-b px-4 py-3 last:border-b-0"
|
|
144
|
+
>
|
|
145
|
+
<Icon className="text-fm-icon-active h-4 w-4" />
|
|
146
|
+
<span className="text-fm-primary font-fm-text text-sm">
|
|
147
|
+
{label}
|
|
148
|
+
</span>
|
|
149
|
+
</button>
|
|
150
|
+
))}
|
|
151
|
+
</div>
|
|
152
|
+
</IconUsageSection>
|
|
153
|
+
|
|
154
|
+
<IconUsageSection title="Open Web Link">
|
|
155
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex w-full max-w-sm items-center gap-2 rounded-xl border px-4 py-3">
|
|
156
|
+
<GlobeIcon className="text-fm-icon-inactive h-4 w-4" />
|
|
157
|
+
<span className="text-fm-secondary font-fm-text flex-1 truncate text-sm">
|
|
158
|
+
pocketfm.com
|
|
159
|
+
</span>
|
|
160
|
+
<ShareIcon className="text-fm-icon-active h-4 w-4" />
|
|
161
|
+
</div>
|
|
162
|
+
</IconUsageSection>
|
|
163
|
+
</IconUsageCanvas>
|
|
350
164
|
),
|
|
351
165
|
}
|
|
352
166
|
|
|
353
167
|
export const Playground: Story = {
|
|
354
|
-
parameters: {
|
|
355
|
-
...storyParameters,
|
|
356
|
-
docs: {
|
|
357
|
-
description: {
|
|
358
|
-
story:
|
|
359
|
-
"Interactive playground to experiment with different GlobeIcon configurations.",
|
|
360
|
-
},
|
|
361
|
-
},
|
|
362
|
-
},
|
|
363
168
|
args: {
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
className: "text-fm-secondary-600",
|
|
169
|
+
className: "h-8 w-8 text-fm-icon-active",
|
|
170
|
+
withAccessibility: true,
|
|
367
171
|
},
|
|
368
172
|
render: (args) => (
|
|
369
|
-
<
|
|
370
|
-
<
|
|
371
|
-
|
|
372
|
-
</div>
|
|
373
|
-
</div>
|
|
173
|
+
<IconPlaygroundCanvas>
|
|
174
|
+
<GlobeIcon {...args} />
|
|
175
|
+
</IconPlaygroundCanvas>
|
|
374
176
|
),
|
|
375
177
|
}
|